При успешном логине с Azure AD (через MSAL 2) возвращает следующий объект:
environment:"login.windows.net"
homeAccountId:"ID_1.ID_2"
idTokenClaims:Object
aio:"xxx"
aud:"xxx"
exp:1661778482
iat:1661774582
idp:"https://sts.windows.net/ID_2"
iss:"https://login.microsoftonline.com/TENANT_ID"
name:"xxx"
nbf:1661774582
nonce:"xxx"
oid:"ID_3"
preferred_username:"xxx"
rh:"xxx"
sub:"xxx"
tid:"xxx"
uti:"xxx"
ver:"xxx"
localAccountId:"ID_3"
name:"xxx"
nativeAccountId:undefined
tenantId:"TENANT_ID"
Вроде по
документации если я правильно понял надо брать
idTokenClaims.oid который равен
localAccountId.
Смущает то, что если смотреть свойства самого пользователя через портал Azure, то вроде бы считается, что настоящий
UserId который в поле
Object ID. Он тоже есть в объекте, в поле
homeAccountId, а именно
ID_1, но почему-то после него идет точка и еще какой-то непонятный
ID_2, который присутствует в
idTokenClaims.idp.
Подскажите пожалуйста, что правильно хранить в базе как UserId в поле CreatedBy для пользователя Azure AD при авторизации через MSAL 2:
1) idTokenClaims.oid, он же
localAccountId?
2) или
ID_1 из
homeAccountId?