@ErichZann

Что хранить в базе как Id пользователя Azure AD?

При успешном логине с 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?
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы