mirror of
https://github.com/pocketbase/pocketbase.git
synced 2026-05-25 01:08:56 -04:00
[#7603] updated the Discord AuthUser.Name field to use global_name
Co-authored-by: Hans <hi@hans0805.me>
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
## v0.36.9 (WIP)
|
||||
|
||||
- Updated the Discord `AuthUser.Name` field to use `global_name` ([#7603](https://github.com/pocketbase/pocketbase/pull/7603); thanks @HansHans135).
|
||||
|
||||
|
||||
## v0.36.8
|
||||
|
||||
- Fixed OAuth2 client secret reset when serializing a cached collection model.
|
||||
|
||||
@@ -54,6 +54,7 @@ func (p *Discord) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
||||
|
||||
extracted := struct {
|
||||
Id string `json:"id"`
|
||||
GlobalName string `json:"global_name"`
|
||||
Username string `json:"username"`
|
||||
Discriminator string `json:"discriminator"`
|
||||
Avatar string `json:"avatar"`
|
||||
@@ -64,16 +65,26 @@ func (p *Discord) FetchAuthUser(token *oauth2.Token) (*AuthUser, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Build a full avatar URL using the avatar hash provided in the API response
|
||||
// build a full avatar URL using the avatar hash provided in the API response
|
||||
// https://discord.com/developers/docs/reference#image-formatting
|
||||
avatarURL := fmt.Sprintf("https://cdn.discordapp.com/avatars/%s/%s.png", extracted.Id, extracted.Avatar)
|
||||
|
||||
// Concatenate the user's username and discriminator into a single username string
|
||||
username := fmt.Sprintf("%s#%s", extracted.Username, extracted.Discriminator)
|
||||
name := extracted.GlobalName
|
||||
if name == "" {
|
||||
// fallback to username+discriminator
|
||||
//
|
||||
// Note: Discord migrated to unique usernames without discriminators.
|
||||
// Legacy accounts still have a non-zero discriminator (e.g. "1234").
|
||||
// See https://support.discord.com/hc/en-us/articles/12620128861463-New-Usernames-Display-Names.
|
||||
name = extracted.Username
|
||||
if extracted.Discriminator != "" && extracted.Discriminator != "0" {
|
||||
name += "#" + extracted.Discriminator
|
||||
}
|
||||
}
|
||||
|
||||
user := &AuthUser{
|
||||
Id: extracted.Id,
|
||||
Name: username,
|
||||
Name: name,
|
||||
Username: extracted.Username,
|
||||
AvatarURL: avatarURL,
|
||||
RawUser: rawUser,
|
||||
|
||||
Reference in New Issue
Block a user