Настройка потока учетных данных клиента Azure с помощью Spring
Я пытаюсь настроить поток учетных данных клиента с помощью приложения Spring для доступа к веб-API (оба принадлежат мне). Я попытался следовать документации Azure по платформе идентификации Microsoft и потоку учетных данных клиента OAuth 2.0 и быстрому запуску: настроить клиентское приложение для доступа к веб-API, но у меня возникло несколько проблем, поскольку документация неясна. Где-то в моей настройке Azure вынуждает пользователя входить в систему, а затем оттуда появляются другие сообщения об ошибках. Однако, как мы знаем, учетные данные клиента должны быть межмашинной авторизацией, поэтому я не уверен, почему происходит этот процесс входа в систему.
Ниже представлены мои настройки. Любая обратная связь поможет мне начать работу. Настройка (пожалуйста, заполните следующую информацию, если применимо):
Среда
OS: Ubuntu 20.10
IDE: Visual Studio Code
Library/Libraries:
com.azure.spring:azure-spring-boot-starter-active-directory:3.5.0
org.springframework.boot:spring-boot-starter-oauth2-client
application.yml
azure:
activedirectory:
tenant-id: {my-web-app-tenant-id}
client-id: {my-web-app-client-id}
client-secret: {my-web-app-client-secret}
authorization-clients:
web-api:
scopes:
- api://example-api/Employees.Read.All
- api://example-api/Employees.Write.All
2 ответа
В настоящее время вы должны выполнять межсерверное взаимодействие, то есть без участия пользователя. Таким образом, ваше серверное приложение должно создать, а затем предоставить роль приложения в качестве разрешения приложения для клиентского приложения .
Во-первых, вам необходимо предоставить доступ к API- интерфейсу серверного приложения, защищенного Azure, который можно настроить в соответствии со следующим процессом:
Портал Azure> Регистрация приложений> Предоставить API> Добавить область> Добавить клиентское приложение
Затем вам нужно создать
appRole
серверного приложения, а затем предоставьте эту роль как разрешение приложения клиентскому приложению.
Затем перейдите в клиентское приложение > Разрешения API> Добавить разрешение> Мои API > ваше приложение API.
Наконец, вам необходимо получить токен доступа, используя поток учетных данных клиента, в котором ни один пользователь не вошел в систему:
Разобрать токен :
@BillyBolton.
Есть несколько типов вашего приложения при использовании
azure-spring-boot-starter-active-directory
:
- Когда ваше приложение
web application
, появится поток входа. - Когда ваше приложение
resource server
, поток входа не появится.
Связанные документы:
- https://github.com/Azure/azure-sdk-for-java/tree/azure-spring-boot-starter-active-directory_3.6.0/sdk/spring/azure-spring-boot-starter-active-directory# доступ к веб-приложению
- https://github.com/Azure/azure-sdk-for-java/tree/azure-spring-boot-starter-active-directory_3.6.0/sdk/spring/azure-spring-boot-starter-active-directory# серверы ресурсов доступа к веб-приложению
Связанные образцы: