diff --git a/core/service.go b/core/service.go index 4e7d612..0058d0b 100644 --- a/core/service.go +++ b/core/service.go @@ -322,7 +322,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { if !guestlink { _, err = sh.readProfile(oldType, oldId, bfinfo) if err != nil { - logger.Error("readProfile(old) failed :", err) + logger.Println("readProfile(old) failed :", err) w.WriteHeader(http.StatusBadRequest) return } @@ -332,7 +332,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { oldType, oldId, err = sh.getProviderInfo(oldType, oldId) if err != nil { - logger.Error("getProviderInfo failed :", err) + logger.Println("getProviderInfo failed :", err) w.WriteHeader(http.StatusBadRequest) return } @@ -346,7 +346,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { email, err := sh.readProfile(newType, newId, bfinfo) if err != nil { - logger.Error("readProfile(new) failed :", err) + logger.Println("readProfile(new) failed :", err) w.WriteHeader(http.StatusBadRequest) return } @@ -359,7 +359,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { newType, newId, err = sh.getProviderInfo(newType, newId) if err != nil { - logger.Error("getProviderInfo failed :", err) + logger.Println("getProviderInfo failed :", err) w.WriteHeader(http.StatusBadRequest) return } @@ -390,7 +390,7 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { }, options.Update().SetUpsert(true)) if err != nil { logger.Error("link failed. Update ServiceName err :", err) - w.WriteHeader(http.StatusBadRequest) + w.WriteHeader(http.StatusInternalServerError) return } @@ -457,7 +457,7 @@ func (sh *serviceDescription) unlink(w http.ResponseWriter, r *http.Request) { sType, sId, err := sh.getProviderInfo(sType, sId) if err != nil { - logger.Error("getProviderInfo failed :", err) + logger.Println("getProviderInfo failed :", err) w.WriteHeader(http.StatusBadRequest) return } @@ -476,7 +476,7 @@ func (sh *serviceDescription) unlink(w http.ResponseWriter, r *http.Request) { if err != nil { logger.Error("unlink failed, fail to count accounts :", err) - w.WriteHeader(http.StatusBadRequest) + w.WriteHeader(http.StatusInternalServerError) } if len(accDocs) <= 1 { @@ -505,7 +505,7 @@ func (sh *serviceDescription) unlink(w http.ResponseWriter, r *http.Request) { }, options.FindOneAndDelete().SetProjection(bson.M{"_id": 1})) if err != nil { logger.Error("unlink failed. Delete ServiceName err :", err) - w.WriteHeader(http.StatusBadRequest) + w.WriteHeader(http.StatusInternalServerError) return } if preid == nil { @@ -554,7 +554,7 @@ func (sh *serviceDescription) linkinfo(w http.ResponseWriter, r *http.Request) { sType, sId, err := sh.getProviderInfo(sType, sId) if err != nil { - logger.Error("getProviderInfo failed :", err) + logger.Println("getProviderInfo failed :", err) w.WriteHeader(http.StatusBadRequest) return } @@ -574,7 +574,7 @@ func (sh *serviceDescription) linkinfo(w http.ResponseWriter, r *http.Request) { })) if err != nil { logger.Error("linkinfo failed. CountDocuments err :", err) - w.WriteHeader(http.StatusBadRequest) + w.WriteHeader(http.StatusInternalServerError) return } @@ -588,6 +588,11 @@ func (sh *serviceDescription) linkinfo(w http.ResponseWriter, r *http.Request) { }, options.Find().SetLimit(sh.MaximumNumLinkAccount).SetProjection(bson.M{ platformName: 1, })) + if err != nil { + logger.Error("linkinfo failed. FindAll returns err :", err) + w.WriteHeader(http.StatusInternalServerError) + return + } var linkstrs []string for _, link := range links { @@ -597,7 +602,7 @@ func (sh *serviceDescription) linkinfo(w http.ResponseWriter, r *http.Request) { linkbytes, err := json.Marshal(linkstrs) if err != nil { logger.Error("linkinfo failed. json marshal fail :", err) - w.WriteHeader(http.StatusBadRequest) + w.WriteHeader(http.StatusInternalServerError) return } @@ -630,29 +635,29 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) //email, err := sh.readProfile(authtype, uid, accesstoken) bfinfo, err := sh.getUserBrowserInfo(r) if err != nil { - logger.Error("getUserBrowserInfo failed :", err) + logger.Println("getUserBrowserInfo failed :", err) w.WriteHeader(http.StatusBadRequest) return } email, err = sh.readProfile(authtype, uid, bfinfo) if err != nil { - logger.Error("readProfile failed :", err) + logger.Println("readProfile failed :", err) w.WriteHeader(http.StatusBadRequest) return } newType, newId, err := sh.getProviderInfo(authtype, uid) if err != nil { - logger.Error("getProviderInfo failed :", err) + logger.Println("getProviderInfo failed :", err) w.WriteHeader(http.StatusBadRequest) return } if authtype != newType || uid != newId { + logger.Printf("auth success ( redirect ) : %s->%s, %s->%s, %s, %s", authtype, newType, uid, newId, email, session) authtype = newType uid = newId - logger.Println("auth success ( redirect ) :", authtype, uid, email, session) } } else { email = fmt.Sprintf("%s@guest.flag", uid) @@ -733,6 +738,8 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) return } + logger.Println("session created :", accid, authtype, uid, email, newsession) + output := map[string]any{ "sk": newsession.Hex(), "expirein": sh.sessionTTL.Seconds(), @@ -757,8 +764,7 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) }, }, options.Update().SetUpsert(false)) if err != nil { - logger.Error("update auth collection failed") - logger.Error(err) + logger.Error("update auth collection failed :", err) return } @@ -773,6 +779,9 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) "sk": session, "expirein": sh.sessionTTL.Seconds(), } + + logger.Println("session updated :", authtype, uid, session) + bt, _ := json.Marshal(output) w.Write(bt) } else { @@ -850,14 +859,14 @@ func (sh *serviceDescription) delacc(w http.ResponseWriter, r *http.Request) { delaccnum, err := sh.mongoClient.DeleteMany(CollectionAccount, delfilter) if err != nil { logger.Error("delacc failed. Delete many CollectionAccount err :", err) - w.WriteHeader(http.StatusBadRequest) + w.WriteHeader(http.StatusInternalServerError) return } _, err = sh.mongoClient.DeleteMany(CollectionLink, delfilter) if err != nil { logger.Error("delacc failed. Delete many CollectionLink err :", err) - w.WriteHeader(http.StatusBadRequest) + w.WriteHeader(http.StatusInternalServerError) return } @@ -964,7 +973,7 @@ func (sh *serviceDescription) serveHTTP(w http.ResponseWriter, r *http.Request) } } } else { - logger.Println("div is not found :", divname) + logger.Println("div is not found :", divname, sh.Divisions) w.WriteHeader(http.StatusBadRequest) } } else {