Skip to content

Commit 9068c78

Browse files
authored
Use DisplayName() instead of FullName in Oauth provider (#19991)
Use DisplayName() in Oauth as this provides a fallback if FullName is not set. Closes #19382
1 parent e3e06d1 commit 9068c78

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

routers/web/auth/oauth.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ func newAccessTokenResponse(ctx stdContext.Context, grant *auth.OAuth2Grant, ser
215215
Nonce: grant.Nonce,
216216
}
217217
if grant.ScopeContains("profile") {
218-
idToken.Name = user.FullName
218+
idToken.Name = user.GetDisplayName()
219219
idToken.PreferredUsername = user.Name
220220
idToken.Profile = user.HTMLURL()
221221
idToken.Picture = user.AvatarLink()

routers/web/auth/oauth_test.go

+19
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"code.gitea.io/gitea/models/db"
1212
"code.gitea.io/gitea/models/unittest"
1313
user_model "code.gitea.io/gitea/models/user"
14+
"code.gitea.io/gitea/modules/setting"
1415
"code.gitea.io/gitea/services/auth/source/oauth2"
1516

1617
"github.com/golang-jwt/jwt/v4"
@@ -64,6 +65,24 @@ func TestNewAccessTokenResponse_OIDCToken(t *testing.T) {
6465
assert.NoError(t, err)
6566
assert.Len(t, grants, 1)
6667

68+
// Scopes: openid profile email
69+
oidcToken = createAndParseToken(t, grants[0])
70+
assert.Equal(t, user.Name, oidcToken.Name)
71+
assert.Equal(t, user.Name, oidcToken.PreferredUsername)
72+
assert.Equal(t, user.HTMLURL(), oidcToken.Profile)
73+
assert.Equal(t, user.AvatarLink(), oidcToken.Picture)
74+
assert.Equal(t, user.Website, oidcToken.Website)
75+
assert.Equal(t, user.UpdatedUnix, oidcToken.UpdatedAt)
76+
assert.Equal(t, user.Email, oidcToken.Email)
77+
assert.Equal(t, user.IsActive, oidcToken.EmailVerified)
78+
79+
// set DefaultShowFullName to true
80+
oldDefaultShowFullName := setting.UI.DefaultShowFullName
81+
setting.UI.DefaultShowFullName = true
82+
defer func() {
83+
setting.UI.DefaultShowFullName = oldDefaultShowFullName
84+
}()
85+
6786
// Scopes: openid profile email
6887
oidcToken = createAndParseToken(t, grants[0])
6988
assert.Equal(t, user.FullName, oidcToken.Name)

0 commit comments

Comments
 (0)