Ответ от Azure AD B2C без электронной почты? - PullRequest
0 голосов
/ 29 мая 2018

Я установил нового клиента B2C в Azure и использую oauth2_proxy (точнее: docker-oauth2_proxy ) для аутентификации на нем.

Необходимо было настроить пользовательские URL-адреса входа, но сам процесс входа работает:

        - name: OAUTH2_PROXY_LOGIN_URL
          value: https://login.microsoftonline.com/tfp/<my-tenant-name>.onmicrosoft.com/b2c_1_policy/oauth2/v2.0/authorize
        - name: OAUTH2_PROXY_REDEEM_URL
          value: https://login.microsoftonline.com/tfp/<my-tenant-name>.onmicrosoft.com/b2c_1_policy/oauth2/v2.0/token

Однако после перенаправления обратно на https://my -app.example я получаю сообщение об ошибке..com :

oauthproxy.go:527: error redeeming code missing email

Я попытался взглянуть на токен, который я получил, но не смог расшифровать его с помощью https://jwt.ms.

Поскольку я не знаючто именно там содержится, я не хочу публиковать здесь, но он начинается с eyJraWQi..., который может быть декодирован в base-64 до {"kid":"cpimcore_09252015","ver":"1.0","zip":"Deflate","ser":"1.0"}

Полный формат ответа:

/oauth2/callback?state=a0d367fd2d7337b8fbae8d72052022c7%3a%2f&code=eyJraWQiOiJjcGltY29yZV8wOTI1MjAxNSIsInZlciI6IjEuMCIsInppcCI6IkRlZmxhdGUiLCJzZXIiOiIxLjAifQ..[base64*16].[base64*568].[base64*22]

, где [base64*n] обозначает строку из n символов, которые выглядят как данные, закодированные в формате base 64.

Есть идеи о том, как декодировать этот токен?

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Не знаю, относится ли это к вам, Azure AD B2C по существу использует стандартный OpenID Connect, однако с добавлением, что вам необходимо указать политику в качестве дополнительного параметра.

Нам также пришлось использоватьAzure AD B2C с oauth2_proxy, поэтому мы изменили универсальный поставщик oidc oauth2_proxy, чтобы он мог использовать политику B2C в качестве дополнительного параметра конфигурации.

Если хотите, попробуйте: https://github.com/karrieretutor/oauth2_proxy#microsoft-azure-ad-b2c

Если вы строите из исходного кода, имейте в виду, что вам также нужно использовать наш разветвленный пакет 'go-oidc' (на который опирается oauth2_proxy, но содержит часть URL-адреса эмитента, поэтому нам пришлось изменить это, чтобы включитьполитика B2C).Взгляните на Dockerfile, он может правильно его собрать.

0 голосов
/ 30 мая 2018

Вы не можете декодировать код авторизации, выданный /oauth2/callback, поскольку он зашифрован.

Поставщик oauth2_proxy Azure AD ожидает mail или otherMails претензия будет выдана.Azure AD выдает это, но Azure AD B2C не выдает это.Azure AD B2C отправляет сообщения электронной почты .

Возможно, вам придется изменить этого поставщика Azure AD, чтобы он соответствовал сообщениям .

...