В этой документации он предоставляет полный поток для веб-приложения, которое вызывает веб-API:
- Веб-приложение выполняет политику, а пользователь выполняетвзаимодействие с пользователем.
- Azure AD B2C возвращает в браузер id_token (OpenID Connect) и код авторизации.
- Браузер отправляет id_token и код авторизации в URI перенаправления.
- Веб-сервер проверяет id_token и устанавливает файл cookie сеанса.
- Веб-сервер запрашивает Azure AD B2C для access_token, предоставляя ему код авторизации, идентификатор клиента приложения и учетные данные клиента.
- access_token и refresh_token возвращаются веб-серверу.
- Веб-API вызывается с access_token в заголовке авторизации.
- Веб-API проверяет токен.
- Защищенные данные возвращаются в веб-приложение.
Просмотр 6. и использование кода в репозитории Azure-Samples active-directory-b2c-dotnet-webapp-and-webapi , я не могу получить строку
AuthenticationResult result = await confidentialClient.AcquireTokenByAuthorizationCode(Globals.Scopes, notification.Code).ExecuteAsync();
для возврата refresh_token. Он возвращает IdToken и AccessToken, но не RefreshToken.
Используя мой браузер и Почтальон и следуя инструкциям в этом документе с тем же клиентом B2C и приложением, которое я делаю получитьжетон обновления, как и ожидалось.
Этот вопрос аналогичен моему, а сообщение в блоге , упомянутое в одном из ответов, позволяет обойти симптом отсутствиятокен обновления, но мой вопрос остается:
Как я могу получить AcquireTokenByAuthorizationCode
для возврата маркера refresh?