fix(auth): support employee ID usernames
giteabot backport / giteabot (push) Canceled after 0s
giteabot / giteabot (push) Canceled after 0s
release-nightly / nightly-binary (push) Canceled after 0s
release-nightly / nightly-container (push) Canceled after 0s
release-nightly-snapcraft / build-and-publish (push) Canceled after 0s

Assisted-by: Codex:GPT-5
This commit is contained in:
2026-08-29 18:42:44 +08:00
parent 746b23b098
commit ab55a432ec
6 changed files with 33 additions and 2 deletions
+14
View File
@@ -184,6 +184,20 @@ func TestWebAuthOAuth2(t *testing.T) {
})
}
func TestExtractUserNameFromOAuth2EmployeeID(t *testing.T) {
defer test.MockVariableValue(&setting.OAuth2Client.Username, setting.OAuth2UsernameEmployeeID)()
username, err := extractUserNameFromOAuth2(&goth.User{
RawData: map[string]any{"employee_id": "RC001"},
})
require.NoError(t, err)
assert.Equal(t, "RC001", username)
username, err = extractUserNameFromOAuth2(&goth.User{RawData: map[string]any{}})
require.NoError(t, err)
assert.Empty(t, username)
}
func TestOpenIDRequireTwoFactor(t *testing.T) {
require.NoError(t, unittest.PrepareTestDatabase())
mockOpt := contexttest.MockContextOption{SessionStore: session.NewMockMemStore("dummy-sid-openid")}