首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Spring建立Azure客户凭证流

用Spring建立Azure客户凭证流
EN

Stack Overflow用户
提问于 2021-06-29 15:01:20
回答 2查看 707关注 0票数 1

我正在尝试用Spring应用程序访问一个web来设置客户端凭证流(两者都是我拥有的)。我试图遵循Azure文档Microsoft平台和OAuth 2.0客户端凭据流Quickstart:配置客户端应用程序以访问web API,但是我遇到了一些问题,因为文档还不清楚。在我的设置中,Azure迫使用户登录,然后从那里冒出其他错误消息。然而,正如我们所知道的,客户机凭据应该是机器对机器的授权,所以我不知道为什么会发生这种登录流。

下面是我的设置。任何反馈都会对我的跑步有所帮助。

环境

代码语言:javascript
复制
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

代码语言:javascript
复制
 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组态

EN

回答 2

Stack Overflow用户

发布于 2021-06-30 07:37:29

您目前应该执行服务器与服务器之间的交互,即没有用户参与.因此,您的服务器应用程序需要创建一个appRole,然后将应用程序角色作为应用程序权限授予客户端应用程序

首先,您需要公开,这是由Azure保护的服务器应用程序的api,可以根据以下过程进行配置:

Azure portal>App registrations>Expose an API>Add a scope>Add客户端应用程序

然后需要创建服务器应用程序的appRole,然后将该角色作为应用程序权限授予客户端应用程序。

接下来,转到客户端应用程序> api permissions>Add a permission>My >您的api应用程序。

最后,您需要使用没有用户登录的客户凭证流获取访问令牌:

解析令牌:

票数 3
EN

Stack Overflow用户

发布于 2021-07-30 06:44:43

@BillyBolton。

在使用azure-spring-boot-starter-active-directory时,有几种类型的应用程序

  1. 当您的应用程序是web application时,将出现登录流。
  2. 当您的应用程序是resource server时,将不会出现登录流。

相关文件:

  1. 3.6.0/sdk/spring/azure-spring-boot-starter-active-directory#accessing-a-web-application
  2. 3.6.0/sdk/spring/azure-spring-boot-starter-active-directory#web-application-accessing-resource-servers

相关样本:

  1. 3.6/aad
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68181260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档