diff --git a/core/service.go b/core/service.go index 123eae2..85098ee 100644 --- a/core/service.go +++ b/core/service.go @@ -329,20 +329,6 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { // fmt.Println(oldAuth.Uid) // fmt.Println("=================") - oldType, oldId, err := sh.getProviderInfo(oldType, oldId) - if err != nil { - logger.Error("getProviderInfo failed :", err) - w.WriteHeader(http.StatusBadRequest) - return - } - - //if oldAuth.Token != oldToken || oldAuth.Uid != oldId || oldAuth.Platform != oldType { - if oldAuth.Uid != oldId || oldAuth.Platform != oldType { - logger.Println("link failed. session key is not correct :", *oldAuth, queryvals) - w.WriteHeader(http.StatusBadRequest) - return - } - bfinfo, err := sh.getUserBrowserInfo(r) if err != nil { logger.Error("getUserBrowserInfo failed :", err) @@ -362,6 +348,20 @@ func (sh *serviceDescription) link(w http.ResponseWriter, r *http.Request) { logger.Println("from guest acc to real acc link : ", oldId, bfinfo, newType, newId, bfinfo) } + oldType, oldId, err = sh.getProviderInfo(oldType, oldId) + if err != nil { + logger.Error("getProviderInfo failed :", err) + w.WriteHeader(http.StatusBadRequest) + return + } + + //if oldAuth.Token != oldToken || oldAuth.Uid != oldId || oldAuth.Platform != oldType { + if oldAuth.Uid != oldId || oldAuth.Platform != oldType { + logger.Println("link failed. session key is not correct :", *oldAuth, queryvals) + w.WriteHeader(http.StatusBadRequest) + return + } + email, err := sh.readProfile(newType, newId, bfinfo) if err != nil { logger.Error("readProfile(new) failed :", err)