После долгих экспериментов я узнаю о вашей проблеме.Я думаю, вы не пытаетесь в правильном формате.Даже я не знаю, на какой документ вы ссылаетесь.Хорошо, первая проблема ...
Вы получаете эту ошибку "This application does not have sufficient permissions against this web resource to perform the operation"
Причина
Вы не установили API access
в своемцелевое приложение на лазурном портале.Чтобы добиться этого, вы должны добавить API access
в свое заявление.
Допустим, у вас есть два Published scopes
в вашем заявлении арендатора B2C, как показано ниже:
Создать доступ к API
Чтобы избежать вышеуказанной ошибки Add
Доступ к API.Для этого перейдите в свое приложение и выберите API access
, после чего вы увидите кнопку Add
сверху.нажмите и справа откроется окно API access
, просто нажмите Ok
.См. Снимок экрана ниже:
После успешного выполнения API Access
Он должен выглядеть следующим образом
Примечание: Надеюсь, что это решит вашу ошибку при попытке отправить запрос.
B2C id_token и токен доступа
Выполните следующие шаги для Id_token
Процесс доступа к токену ID
https://YourB2CTenant.b2clogin.com/tfp/YourB2CTenant.onmicrosoft.com/YourPolicy/oauth2/v2.0/authorize?
client_id = YourApplicationId
& redirect_uri = Ваш ответ из приложения
& scope = openid
& response_type = id_token
Посмотрите нижев Id_token
:
Примечание: Просто заполните вышеуказанный формат и вставьте в свойбраузер без пробелов между ними.Если это правильно, то на странице входа будет предложено.После входа вам будет выдан id_token в вашем браузере.
B2C Access Token
Следуйте приведенному ниже формату In POSTMAN
:
Тип предоставления: код авторизации
URL обратного вызова: URL вашего ответа
AuthURL: https://YourTenant.b2clogin.com/YourTenant.onmicrosoft.com/YourFlow/PolicyName/oauth2/v2.0/authorize?
URL токена доступа: https://YourTenant.b2clogin.com/YourTenant.onmicrosoft.com/oauth2/v2.0/token?p=YourFlow/PolicyName
Идентификатор клиента: Идентификатор вашего приложения
Секрет клиента = Ключ приложения
Область действия = любой из ваших Published scopes
Процесс запроса Post Man
Перейдите к почтальону и нажмите Authorization
Tab и выберите type
как OAuth 2.0
См. Снимок экрана ниже:
Для получения токена доступа нажмите Get New Access Token
. Вам будет предложено в следующем окне заполнить его в вышеуказанном формате.
После нажатия кнопки Request Token
вам будет предложено войти в окно, после успешного входа в систему вы получите access_token
в ответ.Как показано ниже:
Примечание: В B2C не поддерживается способ получения `Id-Token и access_tokenвместе в одном запросе.Вы должны достичь этого в отдельном запросе.Для более подробной информации вы можете обратиться здесь
Если у вас все еще есть проблемы, пожалуйста, не стесняйтесь поделиться здесь в комментарии.Спасибо и счастливого кодирования!