Почему Azure B2 C возвращает idp_access_token, который не является jwt? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть настройка Azure B2 C для возврата заявки с именем idp_access_token, и согласно этой документации Microsoft

https://docs.microsoft.com/en-us/azure/active-directory-b2c/tokens-overview

это должно быть действительный JWT. Однако это не является действительным JWT.

Почему это?

  "exp": 1588112929,
  "nbf": 1588109329,
  "ver": "1.0",
  "iss": "https://xxx.b2clogin.com/903e0c59-0e1d-4769-8a57-0caba1f561da/v2.0/",
  "sub": "f11eaa2e-0bad-400a-864f-57f9daa70720",
  "aud": "8ab24fa8-a5f2-4f7d-a1ad-31f21d7fb627",
  "nonce": "defaultNonce",
  "iat": 1588109329,
  "auth_time": 1588109329,
  "idp_access_token": "PAQABAAAAAAAm-06blBE1TpVMil8KPQ41KrxufgbIw-NxMJGBuFrfjebtTsSNCwe_5MK208-HdCSx2GkqvSr7LV7ZZiKD9p4z7Zl-NawHeA4DJiPxlnmZB43ObtstvlmwyDoVzTFxSjdOkGvCv5_7A5JuGqct7VBbp1US7HmC2YeS9xVO6HlNiYWlNu90HQwk8A05fnzYwfhcshWQ5JvblgtbkwP6dlK4r_PM9erowtW0LuWkEeucdbU_DfnnM75nFbL4Bo4o_-j5nReC7wBpx_dhVC5gDItLuvuQUruju-3ANDSNsSzlNrp6RCv1HOZtMohVbRB6GYDYS0222u7_hf4by-bQca2SIxWvSZ1UKCPUmnQ0Ji4lYCrkCPlKTOPaUaf1D6yZHbWJtqYkOBY-8uuf7961GyDceW_szZhX80AUkEmK5t9yMd7jB38nV5lvHI13roMzr8N-jWdPSOcLCLxSWIvNG7Inp_5wGM2yYSCTjWUnCTMR8-UkXCETUIU16bw2FkTJc1K_eZhAYw2UyQIzYejd-9gQhZrHyTE0ogApg-Qm4bYnW0XCHGe4MZjDKNuVu49OEGTOxUrn7g0Zh9dn6k6FNma7O02ERUItq2bmpYSyqsRxIase4-9tn_zEhoV-lT1mdIHCDXPLwsH...some more comes here
   ...```

More background information: 
- I'm using "Sign up and sign in v2 (Preview)" user flow
- As identity provider of the flow I have selected an Open ID Connect IDP configured to use the Azure AD of the same Azure subscription in which the Azure AD B2C resided. 

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020

Я полагаю, что эта функция получения внешнего IDP (поставщика удостоверений) access_token была бы чрезвычайно полезна для проверяющих сторон (RP), если они (RP) хотят затем напрямую общаться с (внешним) IDP, предоставляя это (idp_access_token) маркер предъявителя для выполнения некоторых операций.

Эта функция предоставляется несколькими брокерами идентификации; например:

  1. Keycloak: https://www.keycloak.org/docs/latest/server_admin/#retrieving -external-idp-токены
  2. Auth0 - https://auth0.com/docs/connections/calling-an-external-idp-api

У меня есть некоторый опыт работы с Keycloak, и некоторые проверяющие стороны, с которыми я работаю, используют эту функцию в Keycloak - для получения дополнительной информации об аутентифицированном пользователе.

Ну, есть некоторые настройки, конфигурации и разрешения необходимо выполнять как на стороне брокера IDP (первый этап), так и на втором этапе. Я думаю, это выходит за рамки задаваемого вопроса.

0 голосов
/ 29 апреля 2020

Поскольку этот двоичный объект AAD используется для достижения конечной точки информации пользователя. Вы получаете это как маркер доступа, если не указали ресурс (конечная точка AAD v1) или область (конечная точка v2) как часть запроса авторизации.

...