【Azure Developer】使用Postman获取Azure AD中注册应用程序的授权Token,及为Azure REST API设置Authorization

简介: 【Azure Developer】使用Postman获取Azure AD中注册应用程序的授权Token,及为Azure REST API设置Authorization

Azure Active Directory (Azure AD) is Microsoft’s cloud-based identity and access management service, which helps your employees sign in and access resources in Azure.

问题描述

当我们使用REST API调用Azure上任何资源的时候,都需要在Request Header中提供Authorization的值。

如何获取Authorizatoin的值呢?

  • 一种快速的方式是访问Azure门户,通过F12(开发者工具)中查看Network中请求的Header中的Authorization值。操作步骤见附录一
  • 一种正规的方式是使用AAD API获取Token。

以下内容则主要介绍如何通过AAD API获取Token(常规的操作方式)。

 

操作步骤

一:先决条件

二:准备参数

1,获取OAuth 2.0 令牌终结点(v2) [https://login.chinacloudapi.cn/{tenant}/oauth2/v2.0/token]

2,获取目录(租户) ID [tenant]

3,获取应用程序(客户端) ID[client_id]

在应用的概述(Overview)页面中复制出租户(tenant),客户端(client id)。见上图中的三组GUID数字。

4,获取客户端密码[client_secret]

  • 在AAD应用页面,进入“证书和密码”页面,点击“新客户端密码”按钮,添加新的Secret(因密码值只能在最开始创建时可见,所以必须在离开页面前复制它

注:在调用OAuth 2.0获取token时候,还需要设置scope和grant_type, 在当前示例中,分别使用https://microsoftgraph.chinacloudapi.cn/.default和client_credentials为值

scope:

https://microsoftgraph.chinacloudapi.cn/.default
grant_type: client_credentials

 

三:调用Token终结点

使用Postman调用Token终结点,全部的参数为:

请求方式 POST
请求URL https://login.chinacloudapi.cn/{TENANT}/oauth2/v2.0/token
请求Body

tenant:{TENANT}

client_id:{CLIENT ID}

scope:https://microsoftgraph.chinacloudapi.cn/.default

grant_type:client_credentials

client_secret:{SECRET VALUE}

请求成功后的响应Body

{

    "token_type": "Bearer",

    "expires_in": 3599,

    "ext_expires_in": 3599,

    "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IjFJRk1tbFNMcnV1 ... ... ... ...  W0Da3_LzLhdNA"

}

 

Postman截图说明:

获取到access_token的值后,即可作为Auzre REST API接口中Authroization的值。

 

四:解析Token

访问https://jwt.io/,可以解码Token内容,查看当前Token中所携带的权限(Role). 演示操作:

 

参考资料

什么是 Azure Active Directoryhttps://docs.azure.cn/zh-cn/active-directory/fundamentals/active-directory-whatis

Microsoft Graph REST API v1.0 reference: https://docs.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0

 

附录一:通过F12(开发者工具)中查看Network中Request的Header中的Authorization值

(注:在使用REST API接口时,需要主要所使用的资源与Azure 门户中资源要相同。这是因为Azure门户中,不同资源所生成的Authorization值各不相同,如不注意,也会遇见无权限401错误)

相关文章
|
4月前
|
API 网络架构
【Azure Developer】使用Microsoft Graph API 批量创建用户,先后遇见的三个错误及解决办法
【Azure Developer】使用Microsoft Graph API 批量创建用户,先后遇见的三个错误及解决办法
|
15天前
|
人工智能 API 语音技术
开发者福利,魔搭推出免费模型推理API,注册就送每日2000次调用!
今天,魔搭社区开放了免费的开源模型推理API,仅需使用魔搭的SDK Token,就可以通过简单的API请求探索各种强大的开源模型的使用。
|
3月前
|
监控 API 开发工具
探索 Postman:API 开发的瑞士军刀
在现代软件开发中,API 起着关键作用,连接前后端应用及微服务架构。Postman 是一款流行的一站式 API 开发工具,支持 REST、GraphQL 和 SOAP 等协议,具备构建、测试、调试 API 的强大功能,包括请求构建器、环境变量管理、测试脚本编写、文档生成及 Mock 服务器创建等。本文详细介绍 Postman 的核心功能与进阶技巧,助你提高 API 开发效率。
|
4月前
|
Java API
【Azure Developer】使用Microsoft Graph API创建用户时候遇见“401 : Unauthorized”“403 : Forbidden”
【Azure Developer】使用Microsoft Graph API创建用户时候遇见“401 : Unauthorized”“403 : Forbidden”
【Azure Developer】使用Microsoft Graph API创建用户时候遇见“401 : Unauthorized”“403 : Forbidden”
|
4月前
|
前端开发 API 网络架构
【Azure 应用服务】能否通过 Authentication 模块配置 Azure AD 保护 API 应用?
【Azure 应用服务】能否通过 Authentication 模块配置 Azure AD 保护 API 应用?
|
4月前
|
API
【Azure Developer】如何用Microsoft Graph API管理AAD Application里面的Permissions
【Azure Developer】如何用Microsoft Graph API管理AAD Application里面的Permissions
|
4月前
|
API 网络架构
【Azure Developer】使用 Microsoft Graph API查看用户状态和登录记录
【Azure Developer】使用 Microsoft Graph API查看用户状态和登录记录
|
4月前
|
API 数据安全/隐私保护
【Azure Developer】使用 Microsoft Graph API 获取 AAD User 操作示例
【Azure Developer】使用 Microsoft Graph API 获取 AAD User 操作示例
|
4月前
|
API
【Azure Developer】调用Microsoft Graph API获取Authorization Token,使用的认证主体为 Azure中的Managed Identity(托管标识)
【Azure Developer】调用Microsoft Graph API获取Authorization Token,使用的认证主体为 Azure中的Managed Identity(托管标识)
|
4月前
|
API 网络架构
【Azure Developer】如何通过Azure REST API 获取到虚拟机(VM)所使用的公共IP地址信息
【Azure Developer】如何通过Azure REST API 获取到虚拟机(VM)所使用的公共IP地址信息