Тип гранта для учетных данных клиента не поддерживается с настраиваемой политикой B2C

Я пытаюсь создать токен доступа из нашей политики, но получаю эту ошибку.

AADB2C90086: The supplied grant_type [client_credentials] is not supported.

Это образец запроса почтальона

POST /{tenant}/oauth2/token?p=B2C_1A_SignUpOrSignInWithAAD HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

grant_type=client_credentials&client_id={client_id}&resource=https%3A%2F%2F{app_url}&client_secret={client_secret}

но он работает нормально, если я не использую нашу настраиваемую политику и просто перехожу непосредственно к клиенту B2C

POST /{tenant}/oauth2/token?api-version=1.0
... same as above

Что-то не хватает в нашей индивидуальной политике?


person chookie    schedule 10.04.2018    source источник


Ответы (1)


B2C не поддерживает поток учетных данных клиента. Дополнительные сведения см. здесь. А здесь Демоны / сервер- сторонние приложения.

но он отлично работает, если я не использую нашу настраиваемую политику

Это потому, что вы получаете токен из Azure AD, а не из B2C.

person spottedmahn    schedule 10.04.2018
comment
Спасибо за ответ. Итак, вы говорите, что, хотя я запрашиваю токен у клиента B2 (без настраиваемой политики), токен на самом деле создается AD? Когда я использую клиент b2c с настраиваемой политикой, он попадает только в B2C и, следовательно, не работает? - person chookie; 11.04.2018
comment
Это правильно. @chookie. Используйте такой инструмент, как jwt.ms, чтобы просмотреть токен. Издателем для Azure AD является sts.windows.net/[guid]. Издателем для B2C является login.microsoftonline.com/[guidestive/v2.0 - person spottedmahn; 12.04.2018