Обновление отзыва токенов в Azure AD B2C - PullRequest
0 голосов
/ 26 февраля 2019

В моем приложении AD B2C мне нужно отменить все маркеры обновления, предоставленные AD B2C для пользователя.Это требование для реализации, так как когда учетная запись пользователя вошла в несколько приложений и в одном приложении пользователь изменил пароль.Когда пароль изменен, я отозвал все его токены обновления, предоставленные другим приложениям.Как это сделать?

Обновление:
Я попробовал следующее,

  1. B2C - Получить токен по политике
    https://login.microsoftonline.com/te/tenantname.onmicrosoft.com/b2c_1a_policyname/oauth2/v2.0/authorize
    https://login.microsoftonline.com/te/tenantname.onmicrosoft.com/b2c_1a_policyname/oauth2/v2.0/token
    a) Получите токен доступа и обновите токен, используя учетную запись пользователя ad b2c (созданную напрямую через клиента, а не из политики регистрации).
    b) Попробуйте получить новый доступ и обновить токен с помощьюконечная точка токена и grant_type refresh_token -> в состоянии получить токен
    c) аннулировал токен, используя https://graph.windows.net/myorganization/users/xxxxx-userObjectID-xxxx/invalidateAllRefreshTokens?api-version=1.6 и поток учетных данных клиента (приложение, зарегистрированное в блейде AD клиента Ad B2C и получившее доступ к Graph API)
    d) Вызов вышеупомянутого токена api-вызов выполнен успешно и попытался шаг (b).
    e) все еще может получить новые токены с шага (b)

  2. B2C -Получить токенBy Policy - отозвать, используя учетную запись GA
    https://login.microsoftonline.com/te/tenantname.onmicrosoft.com/b2c_1a_policyname/oauth2/v2.0/authorize
    https://login.microsoftonline.com/te/tenantname.onmicrosoft.com/b2c_1a_policyname/oauth2/v2.0/token
    a) Получить токен доступа и обновить токен, используя учетную запись пользователя ad b2c (созданную напрямую через клиента, а не из политики регистрации).
    б) Попробуйте получить новый доступ и обновить токен, используя конечную точку токена и номер_рефераresh_token -> в состоянии получить токен
    в) аннулировал токен с помощью https://graph.windows.net/myorganization/users/xxxxx-userObjectID-xxxx/invalidateAllRefreshTokens?api-version=1.6, и это делается путем входа в Graph Api Explorer с использованием учетной записи GA, созданной непосредственно в арендаторе.
    d) Выше токена отозвать вызов APIуспешно завершен, шаг (b).
    e) все еще может получать новые токены с шага (b)

  3. B2C -Получить токен без Poicy
    https://login.microsoftonline.com/tenantname.onmicrosoft.com/oauth2/v2.0/authorize
    https://login.microsoftonline.com/tenantname.onmicrosoft.com/oauth2/v2.0/token
    a) Получил токен доступа и обновил токен, используя учетную запись пользователя ad b2c (созданную напрямую через клиента, а не из политики регистрации).
    b) Попытайтесь получить новый доступ и обновить токен, используя конец токенаpoint и grant_type refresh_token -> в состоянии получить токен
    c) аннулировал токен, используя https://graph.windows.net/myorganization/users/xxxxx-userObjectID-xxxx/invalidateAllRefreshTokens?api-version=1.6 и поток учетных данных клиента (приложение, зарегистрированное в блейде AD клиента Ad B2C и получившее доступ к Graph API)
    d) Вызов вышеупомянутого токена отзывает API-интерфейс успешно и попытался шаг (b).
    e) Невозможно получить новые токены с шага (b)

  4. B2C - Получить токен без Poicy- Отзыв с использованием учетной записи GA
    https://login.microsoftonline.com/tenantname.onmicrosoft.com/oauth2/v2.0/authorize
    https://login.microsoftonline.com/tenantname.onmicrosoft.com/oauth2/v2.0/token
    a) Получил токен доступа и обновил токен, используя учетную запись пользователя ad b2c (созданную напрямую через клиента, а не из политики регистрации).
    b) Попробуйте получить новый токен доступа и обновить, используя конечную точку токена и grant_type refresh_token-> в состоянии получить токен
    в) аннулировал токен с помощью https://graph.windows.net/myorganization/users/xxxxx-userObjectID-xxxx/invalidateAllRefreshTokens?api-version=1.6 Это делается путем входа в Graph Api Explorer с использованием учетной записи GA, созданной непосредственно в клиенте.
    d) Отмена вызова токена выше токена успешнаи попытался шаг (b).
    e) все еще в состоянии получить новые токены из шага (b)

В основном не удалось отозвать токен, созданный из рабочего процесса политики b2c.

Решение:
Обновление графа отзыва токенов api работает.Но для этого требуется около 5 минут.
Но проблема здесь между периодом ожидания, я могу получить новый токен обновления и токен доступа, и эти новые токены обновления работают даже после отзыва.Что означает, что Azure AD считал запрошенное время маркера обновления, отзывает вызов API и отменяет все токены обновления, выпущенные до этого времени.
Так как этого избежать?
Когда новый токен доступа запрашивается с автономной областью с использованием существующего токена обновления,Почему Azure AD предоставляет новый токен обновления, даже если у существующего токена обновления есть время действия .?

1 Ответ

0 голосов
...