[#385] added username to the OAuth2 AuthUser model
This commit is contained in:
parent
b717896232
commit
b79a7982bf
|
@ -11,6 +11,7 @@ import (
|
||||||
type AuthUser struct {
|
type AuthUser struct {
|
||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
Username string `json:"username"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
AvatarUrl string `json:"avatarUrl"`
|
AvatarUrl string `json:"avatarUrl"`
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,7 @@ func (p *Discord) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
||||||
user := &AuthUser{
|
user := &AuthUser{
|
||||||
Id: rawData.Id,
|
Id: rawData.Id,
|
||||||
Name: username,
|
Name: username,
|
||||||
|
Username: rawData.Username,
|
||||||
Email: rawData.Email,
|
Email: rawData.Email,
|
||||||
AvatarUrl: avatarUrl,
|
AvatarUrl: avatarUrl,
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ func NewGithubProvider() *Github {
|
||||||
func (p *Github) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
func (p *Github) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
||||||
// https://docs.github.com/en/rest/reference/users#get-the-authenticated-user
|
// https://docs.github.com/en/rest/reference/users#get-the-authenticated-user
|
||||||
rawData := struct {
|
rawData := struct {
|
||||||
|
Login string `json:"login"`
|
||||||
Id int `json:"id"`
|
Id int `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
|
@ -45,6 +46,7 @@ func (p *Github) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
||||||
user := &AuthUser{
|
user := &AuthUser{
|
||||||
Id: strconv.Itoa(rawData.Id),
|
Id: strconv.Itoa(rawData.Id),
|
||||||
Name: rawData.Name,
|
Name: rawData.Name,
|
||||||
|
Username: rawData.Login,
|
||||||
Email: rawData.Email,
|
Email: rawData.Email,
|
||||||
AvatarUrl: rawData.AvatarUrl,
|
AvatarUrl: rawData.AvatarUrl,
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ func (p *Gitlab) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
||||||
rawData := struct {
|
rawData := struct {
|
||||||
Id int `json:"id"`
|
Id int `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
Username string `json:"username"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
AvatarUrl string `json:"avatar_url"`
|
AvatarUrl string `json:"avatar_url"`
|
||||||
}{}
|
}{}
|
||||||
|
@ -43,6 +44,7 @@ func (p *Gitlab) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
||||||
user := &AuthUser{
|
user := &AuthUser{
|
||||||
Id: strconv.Itoa(rawData.Id),
|
Id: strconv.Itoa(rawData.Id),
|
||||||
Name: rawData.Name,
|
Name: rawData.Name,
|
||||||
|
Username: rawData.Username,
|
||||||
Email: rawData.Email,
|
Email: rawData.Email,
|
||||||
AvatarUrl: rawData.AvatarUrl,
|
AvatarUrl: rawData.AvatarUrl,
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ func NewTwitterProvider() *Twitter {
|
||||||
},
|
},
|
||||||
authUrl: "https://twitter.com/i/oauth2/authorize",
|
authUrl: "https://twitter.com/i/oauth2/authorize",
|
||||||
tokenUrl: "https://api.twitter.com/2/oauth2/token",
|
tokenUrl: "https://api.twitter.com/2/oauth2/token",
|
||||||
userApiUrl: "https://api.twitter.com/2/users/me?user.fields=id,name,profile_image_url",
|
userApiUrl: "https://api.twitter.com/2/users/me?user.fields=id,name,username,profile_image_url",
|
||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@ func (p *Twitter) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
||||||
Data struct {
|
Data struct {
|
||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
|
Username string `json:"username"`
|
||||||
ProfileImageUrl string `json:"profile_image_url"`
|
ProfileImageUrl string `json:"profile_image_url"`
|
||||||
|
|
||||||
// NB! At the time of writing, Twitter OAuth2 doesn't support returning the user email address
|
// NB! At the time of writing, Twitter OAuth2 doesn't support returning the user email address
|
||||||
|
@ -52,6 +53,7 @@ func (p *Twitter) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
||||||
user := &AuthUser{
|
user := &AuthUser{
|
||||||
Id: rawData.Data.Id,
|
Id: rawData.Data.Id,
|
||||||
Name: rawData.Data.Name,
|
Name: rawData.Data.Name,
|
||||||
|
Username: rawData.Data.Username,
|
||||||
Email: rawData.Data.Email,
|
Email: rawData.Data.Email,
|
||||||
AvatarUrl: rawData.Data.ProfileImageUrl,
|
AvatarUrl: rawData.Data.ProfileImageUrl,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue