From ef5f274b1105b0e0baa39474fa5b78868132ecff Mon Sep 17 00:00:00 2001 From: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com> Date: Fri, 13 Dec 2024 12:45:38 +0530 Subject: [PATCH] fix(ui): capture and update profile info for oidc users (#19024) --- .../resources/ui/src/utils/AuthProvider.util.ts | 2 +- .../ui/src/utils/AuthProviderUtil.test.ts | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts b/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts index c4c5877febf..4c2e7661a76 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/AuthProvider.util.ts @@ -293,7 +293,7 @@ export const getNameFromUserData = ( } } - return { name: userName, email: email }; + return { name: userName, email: email, picture: user.picture }; }; export const isProtectedRoute = (pathname: string) => { diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/AuthProviderUtil.test.ts b/openmetadata-ui/src/main/resources/ui/src/utils/AuthProviderUtil.test.ts index f35fa90e122..a619e0b428a 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/AuthProviderUtil.test.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/AuthProviderUtil.test.ts @@ -23,12 +23,13 @@ const userProfile = { describe('Test Auth Provider utils', () => { it('getNameFromUserData should return name and email from claim: preferred_username', () => { - const { name, email } = getNameFromUserData(userProfile, [ + const { name, email, picture } = getNameFromUserData(userProfile, [ 'preferred_username', ]); expect(name).toEqual('i_am_preferred_username'); expect(email).toEqual('i_am_preferred_username@'); + expect(picture).toEqual(''); }); it('getNameFromUserData should return name and email from claim: email', () => { @@ -99,6 +100,18 @@ describe('Test Auth Provider utils', () => { expect(name).toEqual('i_am_preferred_username'); expect(email).toEqual('i_am_preferred_username@test.com'); }); + + it('getNameFromUserData should return picture details as it is', () => { + const { name, email, picture } = getNameFromUserData( + { ...userProfile, picture: 'test_picture' }, + ['preferred_username', 'email', 'sub'], + 'test.com' + ); + + expect(name).toEqual('i_am_preferred_username'); + expect(email).toEqual('i_am_preferred_username@test.com'); + expect(picture).toEqual('test_picture'); + }); }); import { OidcUser } from '../components/Auth/AuthProviders/AuthProvider.interface';