Настройка потока учетных данных клиента 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

Конфигурация Azure

2 ответа

В настоящее время вы должны выполнять межсерверное взаимодействие, то есть без участия пользователя. Таким образом, ваше серверное приложение должно создать, а затем предоставить роль приложения в качестве разрешения приложения для клиентского приложения .

Во-первых, вам необходимо предоставить доступ к API- интерфейсу серверного приложения, защищенного Azure, который можно настроить в соответствии со следующим процессом:

Портал Azure> Регистрация приложений> Предоставить API> Добавить область> Добавить клиентское приложение

Затем вам нужно создать appRoleсерверного приложения, а затем предоставьте эту роль как разрешение приложения клиентскому приложению.

Затем перейдите в клиентское приложение > Разрешения API> Добавить разрешение> Мои API > ваше приложение API.

Наконец, вам необходимо получить токен доступа, используя поток учетных данных клиента, в котором ни один пользователь не вошел в систему:

Разобрать токен :

@BillyBolton.

Есть несколько типов вашего приложения при использовании azure-spring-boot-starter-active-directory:

  1. Когда ваше приложение web application, появится поток входа.
  2. Когда ваше приложение resource server, поток входа не появится.

Связанные документы:

  1. 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# доступ к веб-приложению
  2. 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# серверы ресурсов доступа к веб-приложению

Связанные образцы:

  1. https://github.com/Azure-Samples/azure-spring-boot-samples/tree/azure-spring-boot_3.6/aad
Другие вопросы по тегам