diff --git a/core/service.go b/core/service.go index 0175f37..bbe5f8d 100644 --- a/core/service.go +++ b/core/service.go @@ -576,31 +576,35 @@ func (sh *serviceDescription) authorize(w http.ResponseWriter, r *http.Request) var email string if !*noauth { - //email, err := sh.readProfile(authtype, uid, accesstoken) - bfinfo, err := sh.getUserBrowserInfo(r) - if err != nil { - logger.Error("getUserBrowserInfo failed :", err) - w.WriteHeader(http.StatusBadRequest) - return - } + if len(authtype) > 0 { + //email, err := sh.readProfile(authtype, uid, accesstoken) + bfinfo, err := sh.getUserBrowserInfo(r) + if err != nil { + logger.Error("getUserBrowserInfo failed :", err) + w.WriteHeader(http.StatusBadRequest) + return + } - email, err = sh.readProfile(authtype, uid, bfinfo) - if err != nil { - logger.Error("readProfile failed :", err) - w.WriteHeader(http.StatusBadRequest) - return - } + email, err = sh.readProfile(authtype, uid, bfinfo) + if err != nil { + logger.Error("readProfile failed :", err) + w.WriteHeader(http.StatusBadRequest) + return + } - newType, newId, err := sh.getProviderInfo(authtype, uid) - if err != nil { - logger.Error("getProviderInfo failed :", err) - w.WriteHeader(http.StatusBadRequest) - } + newType, newId, err := sh.getProviderInfo(authtype, uid) + if err != nil { + logger.Error("getProviderInfo failed :", err) + w.WriteHeader(http.StatusBadRequest) + } - if authtype != newType || uid != newId { - authtype = newType - uid = newId - logger.Println("auth success ( redirect ) :", authtype, uid, email, session) + if authtype != newType || uid != newId { + authtype = newType + uid = newId + logger.Println("auth success ( redirect ) :", authtype, uid, email, session) + } + } else { + email = fmt.Sprintf("%s@guest.flag", uid) } } else { email = fmt.Sprintf("%s@noauth.flag", uid)