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,9 +248,9 @@ func (idp *GithubIdProvider) GetUserInfo(token *oauth2.Token) (*UserInfo, error)
if err != nil {
return nil, err
}
return nil, fmt.Errorf("%s, %s", errMessage.Message, errMessage.DocumentationUrl)
}
fmt.Printf("GithubIdProvider:GetUserInfo() error, status code = %d, error message = %v\n", respEmail.StatusCode, errMessage)
} else {
var userEmails []GitHubUserEmailInfo
err = json.Unmarshal(emailBody, &userEmails)
if err != nil {
@ -259,6 +259,7 @@ func (idp *GithubIdProvider) GetUserInfo(token *oauth2.Token) (*UserInfo, error)
githubUserInfo.Email = idp.getEmailFromEmailsResult(userEmails)
}
}
userInfo := UserInfo{
Id: strconv.Itoa(githubUserInfo.Id),