Compare commits

...

3 Commits

Author SHA1 Message Date
Lakhan Samani
7d1272d815 fix: update scope for apple login 2022-06-14 14:41:31 +05:30
Lakhan Samani
c9ba0b13f8 fix: update scope for apple login 2022-06-14 13:37:05 +05:30
Lakhan Samani
fadd9f6168 fix: update scope for apple login 2022-06-14 13:11:39 +05:30
3 changed files with 9 additions and 5 deletions

View File

@@ -492,15 +492,18 @@ func processAppleUserInfo(code string) (models.User, error) {
fmt.Println("=> claims", claims)
if val, ok := claims["email"]; !ok {
log.Debug("Failed to extract email from claims")
return user, fmt.Errorf("unable to extract email")
log.Debug("Failed to extract email from claims.")
return user, fmt.Errorf("unable to extract email, please check the scopes enabled for your app. It needs `email`, `name` scopes")
} else {
user.Email = val.(string)
}
if val, ok := claims["name"]; ok {
givenName := val.(string)
nameData := val.(map[string]interface{})
givenName := nameData["firstName"].(string)
familyName := nameData["lastName"].(string)
user.GivenName = &givenName
user.FamilyName = &familyName
}
return user, err

View File

@@ -184,7 +184,8 @@ func OAuthLoginHandler() gin.HandlerFunc {
return
}
oauth.OAuthProviders.AppleConfig.RedirectURL = hostname + "/oauth_callback/" + constants.SignupMethodApple
url := oauth.OAuthProviders.AppleConfig.AuthCodeURL(oauthStateString, oauth2.SetAuthURLParam("response_mode", "form_post"))
// Scope from the root config was not passed for apple login
url := oauth.OAuthProviders.AppleConfig.AuthCodeURL(oauthStateString, oauth2.SetAuthURLParam("response_mode", "form_post"), oauth2.SetAuthURLParam("scope", "name%20email"))
c.Redirect(http.StatusTemporaryRedirect, url)
default:
log.Debug("Invalid oauth provider: ", provider)

View File

@@ -130,7 +130,7 @@ func InitOAuth() error {
AuthURL: "https://appleid.apple.com/auth/authorize",
TokenURL: "https://appleid.apple.com/auth/token",
},
Scopes: []string{"name", "email"},
Scopes: []string{"name%20email"},
}
}