Обновление отзыва токенов в пользовательской политике Azure AD B2C - PullRequest
0 голосов
/ 14 марта 2019

Я уже задал вопрос Обновить токен отзыва , и он работает через 1-5 минут.
Но это работает только для встроенной политики (пользовательский поток), а не для пользовательской политики.

Я получил refresh_token A из встроенной политики и refresh_token B из пользовательской политики.

Оба токена получены для одного и того же пользователя в одном и том же арендаторе.

После выполнения revoke (Graph API), когда я пытаюсь получить новый доступ и обновить токен с помощью refresh_token A, происходит сбой. Но когда я пытаюсь с refresh_token B (получено через пользовательскую политику), он все еще работает. Возможность получать новые токены.

Я дал 15 минут времени после отзыва вызова.

Пожалуйста, помогите мне исправить это.

1 Ответ

1 голос
/ 14 марта 2019

Настройка потока учетных данных пароля владельца ресурса в Azure Active Directory B2C с использованием настраиваемой политики Статья описывает настраиваемые элементы, которые должны быть реализованы для управления токенами обновления и проверки того, чтоуже выпущенный не был признан недействительным.

Вы должны:

  • Создать refreshTokenIssuedOnDateTime и refreshTokensValidFromDateTime типы заявок
  • Создание преобразования AssertRefreshTokenIssuedLaterThanValidFromDate утверждений
  • Создание профилей AAD-UserReadUsingObjectId-CheckRefreshTokenDate и SM-RefreshTokenRead1025 * Создайте ResourceOwnerPasswordCredentials-RedeemRefreshToken путешествие пользователя
  • См. Этот путь пользователя из мета-свойства RefreshTokenUserJourneyId технического профиля JwtIssuer

По умолчанию наклон часов установлен на0, но вы можете изменить это, используя TreatAsEqualIfWithinMillseconds параметра AssertRefreshTokenIssuedLaterThanValidFromDate преобразование утверждений:

<ClaimsTransformation Id="AssertRefreshTokenIssuedLaterThanValidFromDate" TransformationMethod="AssertDateTimeIsGreaterThan">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="refreshTokenIssuedOnDateTime" TransformationClaimType="leftOperand" />
    <InputClaim ClaimTypeReferenceId="refreshTokensValidFromDateTime" TransformationClaimType="rightOperand" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="AssertIfEqualTo" DataType="boolean" Value="false" />
    <InputParameter Id="AssertIfRightOperandIsNotPresent" DataType="boolean" Value="true" />
    <!-- Set the clock skew to 5 minutes (300000 milliseconds). -->
    <InputParameter Id="TreatAsEqualIfWithinMillseconds" DataType="int" Value="300000" />
  </InputParameters>
</ClaimsTransformation>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...