mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-24 08:20:31 +08:00
feat: improve the error message of GitHub OAuth provider (#3462)
This commit is contained in:
parent
8927e08217
commit
0d239ba1cf
@ -195,6 +195,12 @@ type GitHubUserEmailInfo struct {
|
|||||||
Visibility string `json:"visibility"`
|
Visibility string `json:"visibility"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type GitHubErrorInfo struct {
|
||||||
|
Message string `json:"message"`
|
||||||
|
DocumentationUrl string `json:"documentation_url"`
|
||||||
|
Status string `json:"status"`
|
||||||
|
}
|
||||||
|
|
||||||
func (idp *GithubIdProvider) GetUserInfo(token *oauth2.Token) (*UserInfo, error) {
|
func (idp *GithubIdProvider) GetUserInfo(token *oauth2.Token) (*UserInfo, error) {
|
||||||
req, err := http.NewRequest("GET", "https://api.github.com/user", nil)
|
req, err := http.NewRequest("GET", "https://api.github.com/user", nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -236,6 +242,15 @@ func (idp *GithubIdProvider) GetUserInfo(token *oauth2.Token) (*UserInfo, error)
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if respEmail.StatusCode != 200 {
|
||||||
|
var errMessage GitHubErrorInfo
|
||||||
|
err = json.Unmarshal(emailBody, &errMessage)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return nil, fmt.Errorf("%s, %s", errMessage.Message, errMessage.DocumentationUrl)
|
||||||
|
}
|
||||||
|
|
||||||
var userEmails []GitHubUserEmailInfo
|
var userEmails []GitHubUserEmailInfo
|
||||||
err = json.Unmarshal(emailBody, &userEmails)
|
err = json.Unmarshal(emailBody, &userEmails)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user