开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
  1. Home
  2. Computer Science
  3. This article

Azure active directory 获得访问的 token

2020年10月08日 622Browse 0Like 0Comments

一直认为 Azure 的设计过于复杂,权限要求过多,就感觉是一群技术宅做的系统。相对 AWS 来说,更加喜欢 AWS 的功能设计。

但是因为工作需要又不得不使用 Azure,所以把使用过程中遇到的一些问题都记录下来,以期望能帮助有需要的人。

这篇文章主要用于介绍如何使用 postman 来获得 Azure active directory 的用户访问 token,这个步骤是使用 Azure 对用户鉴权使用的第一步。

确定 tenant

Azure 允许你有多个 tenant,你可以在 Azure 的控制台中对 tenant 进行切换,这个是你需要做的第一步。确定你希望使用的 teant。

如果你还没有 tenant 的话,你需要创建一个 tenant。

 

Azure-active-directory-token-01

 

当找到你需要的 Tenant 以后,你会获得一个 tenant ID,这个非常重要。

因为这个表示的是你 AD 的唯一标识,所以你需要记录下来。

Tenant ID 在你界面中的的 Tenant Information 里面

 

Azure-active-directory-token-02

 

注册 APP

不管你使用任何类型的应用,你都需要先注册一个 APP。

单击左侧的注册 APP 按钮。

 

Azure-active-directory-token-03

 

可以单击界面的上侧,注册一个新的应用。

 

Azure-active-directory-token-04

 

在弹出的界面中,输入注册需要的相关信息。

注册的名字你可以自行定义,需要注意的是,你需要选择:

  • Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)

这个注册选项。

假设,我们这里注册的应用是 WEB。

 

Azure-active-directory-token-05

 

获得基本参数

当你注册成功后,你可以单击你的注册名,然后你将会看到注册的应用信息界面。

在这个界面中,你会得到

  • Application (client) ID
  • Directory (tenant) ID
  • Object ID

这几个参数,这几个参数对你来说非常重要,你需要保存下来。

 

Azure-active-directory-token-06

 

设置 secrets

单击左侧的 Certificates & secrets,你将会看到密钥生成的界面。

在这里,你可以单击生成一个新的 Secret。

你可以不用给这个 secret 进行命名,你也可以命名你希望的名字。请注意将 secret 进行保存,因为下次你访问的时候,secret 就不会再显示了。

 

Azure-active-directory-token-07

 

API 赋权

你需要确定 Microsoft Graph 有用户读取的权限。

 

Azure-active-directory-token-08

 

如果没有这个权限的话,你需要单击上面的添加权限来将权限添加进来。

 

Azure-active-directory-token-09

 

选择 Microsoft Graph 的选项,然后将用户的权限添加进来。

 

Azure-active-directory-token-10

 

暴露 API

你需要将你的 API 进行暴露,允许进行访问。

 

Azure-active-directory-token-11

 

你需要添加一个新的 Scope,在这里我们假设你添加了一个叫做 user.read 的 scope。

在弹出的界面中你可以输入你需要的选项。

你可以选择 Admins and users

 

Azure-active-directory-token-12

 

修改 Manifest

这个配置参数你需要手动修改。

主要修改参数是:oauth2AllowImplicitFlow 修改为 true

 

Azure-active-directory-token-13

 

至此,Azure 的配置已经完成了,下一步就是配置你的客户端进行测试了。

Postman 测试

可以通过 Postman 进行测试获得 token。

你有 2 种方法进行测试,我们测试的是不通过授权,直接通过 secret 来获得 token。

另一种方法,我们在其他方式中再进行测试。

在 Postman 中添加一个 API 访问。

访问方法

使用 GET 进行访问

访问 URL

访问的 URL 是:https://login.microsoftonline.com/tenant ID/oauth2/v2.0/token

这里有一个参数要进行替换,就是 Tenant ID,这个 ID 在开始的时候就用于标识一个 AD,我们已经在前面的步骤保存了。

Headers

添加参数 Content-Type 为 application/x-www-form-urlencoded

 

Azure-active-directory-token-14

 

Body

grant_type : client_credentials
client_id: 4ab1a0b7-da1d-423d-9fc3-e3a6fabd9
client_secret:SYk.HZT_jK6ZE1~3tle2Ha0MeV.9
scope: api://4ab1a0b7-da1d-423d-9fc3-e3a6fabd9/.default

这里参数有一根需要注意的地方。

client_id 是我们在最开始的时候 APP 创建成功后获得 client_id。

client_secret 是我们我们在 APP 注册成功后,创建的秘钥。

scope:是我们创建的的 scop,但是需要注意的是,我们创建的 scope 是以 user.read 结尾的,在我们获得 token 的时候,不能使用上面结尾的 scope,而需要将 user.read 修改为 .default

因此 scope 的配置就是 api://client_id/ .default.

请注意,你一定要这么配置,否则你拿不到 token

当一切配置好后,你可以发送请求,如果一切正确的话,你将会看到服务器返回给你的 token 字符串。

 

https://www.ossez.com/t/azure-active-directory-token/558

Tags: None
Last updated:2020年10月08日

HoneyMoose

有温度的人文和独立的思考

Like
< Previous
Next >

Comments

Cancel reply

Archives
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,362)
    • Confluence (663)
    • Gradle (12)
  • U.S. (482)
  • 文化旅游 (145)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1