added google OAuth2 verified_email check

This commit is contained in:
Gani Georgiev 2023-03-05 19:19:03 +02:00
parent 2420b2804a
commit 65aa114103
1 changed files with 9 additions and 5 deletions

View File

@ -42,10 +42,11 @@ func (p *Google) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
} }
extracted := struct { extracted := struct {
Id string Id string `json:"id"`
Name string Name string `json:"name"`
Email string Email string `json:"email"`
Picture string Picture string `json:"picture"`
VerifiedEmail bool `json:"verified_email"`
}{} }{}
if err := json.Unmarshal(data, &extracted); err != nil { if err := json.Unmarshal(data, &extracted); err != nil {
return nil, err return nil, err
@ -54,12 +55,15 @@ func (p *Google) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
user := &AuthUser{ user := &AuthUser{
Id: extracted.Id, Id: extracted.Id,
Name: extracted.Name, Name: extracted.Name,
Email: extracted.Email,
AvatarUrl: extracted.Picture, AvatarUrl: extracted.Picture,
RawUser: rawUser, RawUser: rawUser,
AccessToken: token.AccessToken, AccessToken: token.AccessToken,
RefreshToken: token.RefreshToken, RefreshToken: token.RefreshToken,
} }
if extracted.VerifiedEmail {
user.Email = extracted.Email
}
return user, nil return user, nil
} }