feat: fix bug that GitHub oauth provider shows error if failed to fetch user's email (#3474)

* fix: fix github idp will stop login if it cannot fetch user's email through al restful api

* Update github.go

---------

Co-authored-by: hsluoyz <hsluoyz@qq.com>
This commit is contained in:
DacongDA 2025-01-05 20:25:42 +08:00 committed by GitHub
parent e5a2057382
commit e27c764a55
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -248,16 +248,17 @@ func (idp *GithubIdProvider) GetUserInfo(token *oauth2.Token) (*UserInfo, error)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return nil, fmt.Errorf("%s, %s", errMessage.Message, errMessage.DocumentationUrl)
}
var userEmails []GitHubUserEmailInfo fmt.Printf("GithubIdProvider:GetUserInfo() error, status code = %d, error message = %v\n", respEmail.StatusCode, errMessage)
err = json.Unmarshal(emailBody, &userEmails) } else {
if err != nil { var userEmails []GitHubUserEmailInfo
return nil, err err = json.Unmarshal(emailBody, &userEmails)
} if err != nil {
return nil, err
}
githubUserInfo.Email = idp.getEmailFromEmailsResult(userEmails) githubUserInfo.Email = idp.getEmailFromEmailsResult(userEmails)
}
} }
userInfo := UserInfo{ userInfo := UserInfo{