diff options
author | oGi4i <oGi4i@users.noreply.github.com> | 2022-06-17 01:29:54 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-16 23:29:54 +0100 |
commit | 9068c784c8af1c76f88f94ada1bf5ee21c3cd25b (patch) | |
tree | e1b10b2d44073fd44ce9973a19b06269744d0176 | |
parent | e3e06d13afdd882ca5934fde77217ff9554354c4 (diff) | |
download | gitea-9068c784c8af1c76f88f94ada1bf5ee21c3cd25b.tar.gz gitea-9068c784c8af1c76f88f94ada1bf5ee21c3cd25b.zip |
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
-rw-r--r-- | routers/web/auth/oauth.go | 2 | ||||
-rw-r--r-- | routers/web/auth/oauth_test.go | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/routers/web/auth/oauth.go b/routers/web/auth/oauth.go index f646615968..d868b05a44 100644 --- a/routers/web/auth/oauth.go +++ b/routers/web/auth/oauth.go @@ -215,7 +215,7 @@ func newAccessTokenResponse(ctx stdContext.Context, grant *auth.OAuth2Grant, ser Nonce: grant.Nonce, } if grant.ScopeContains("profile") { - idToken.Name = user.FullName + idToken.Name = user.GetDisplayName() idToken.PreferredUsername = user.Name idToken.Profile = user.HTMLURL() idToken.Picture = user.AvatarLink() diff --git a/routers/web/auth/oauth_test.go b/routers/web/auth/oauth_test.go index 5a09a95105..57f2477dba 100644 --- a/routers/web/auth/oauth_test.go +++ b/routers/web/auth/oauth_test.go @@ -11,6 +11,7 @@ import ( "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/unittest" user_model "code.gitea.io/gitea/models/user" + "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/services/auth/source/oauth2" "github.com/golang-jwt/jwt/v4" @@ -66,6 +67,24 @@ func TestNewAccessTokenResponse_OIDCToken(t *testing.T) { // Scopes: openid profile email oidcToken = createAndParseToken(t, grants[0]) + assert.Equal(t, user.Name, oidcToken.Name) + assert.Equal(t, user.Name, oidcToken.PreferredUsername) + assert.Equal(t, user.HTMLURL(), oidcToken.Profile) + assert.Equal(t, user.AvatarLink(), oidcToken.Picture) + assert.Equal(t, user.Website, oidcToken.Website) + assert.Equal(t, user.UpdatedUnix, oidcToken.UpdatedAt) + assert.Equal(t, user.Email, oidcToken.Email) + assert.Equal(t, user.IsActive, oidcToken.EmailVerified) + + // set DefaultShowFullName to true + oldDefaultShowFullName := setting.UI.DefaultShowFullName + setting.UI.DefaultShowFullName = true + defer func() { + setting.UI.DefaultShowFullName = oldDefaultShowFullName + }() + + // Scopes: openid profile email + oidcToken = createAndParseToken(t, grants[0]) assert.Equal(t, user.FullName, oidcToken.Name) assert.Equal(t, user.Name, oidcToken.PreferredUsername) assert.Equal(t, user.HTMLURL(), oidcToken.Profile) |