需要使用Postman访问WebAPI时,需要使用三个步骤
1.创建Azure AD应用
2.生成Token
3.Postman根据生成的Token调用WebAPI
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
一、创建Azure AD应用
进入至Azure控制台页面,选择“Azure Active Directory”
选择“应用注册”
选择新应用“程序注册”
在创建的窗口输入应用的“名称”及“登陆URL”,这里面的地址是预先输入的,使用的是3006端口,这个3006端口后面会用到
创建的应用程序中,基本的属性
创建了一个应用,但是这个应用却没有任何权限,需要加入访问后台API的权限
选择“所需权限”后,点击“添加”,出现了“选择API”后,输入后台的API的关键字,并点击下方的“选择”按钮
我们这里选择的是“Designer Workbench (DEV) - Backend”
选择了API后,需要选择权限,当出现的权限列表后,勾选权限,确定即可
除了“所需权限”外,我在此演示的是通过创建一个密钥,然后就不需要登陆,直接可以获取到Token
点击“密钥”,输入“描述”,并选择“到期”为“永不过期”,点击“保存”
保存过后,生成的密钥请复制至电脑并保存,后面会需要用到
g+IisbGtjKqwQCz6GxO9Tw01ca59MxI8YLFE3WEudwY=
二、生成Token
在电脑中新建文件夹“token-test”
在文件夹运行命令“npm install -g express”,全局安装express
使用"express token-test"生成一个nodejs的项目,完成后,会在空文件夹下面再生成一个token-test文件夹,
进入至token-test中,使用命令“npm install”安装所有的依赖包
并使用命令"npm install --save adal-node"安装adal依赖包
并使用visual studio code打开项目
在“/bin/www”文件中修改端口号为之前项目的3006端口
在修改代码之前,需要查询到后台API的URI地址
查询到后台API的URI后,复制待用
修改"routes/index.js"代码为
这里解析一下各个参数的意思
tenant: ‘esquel.onmicrosoft.com‘ :意思是接入Azure服务的域名
authorityHostUrl: ‘https://login.windows.net‘,:这个登陆地址是固定的
clientId: ‘7e3fbc01-eda8-41de-bd80-a5a208fa12a2‘,:是新加入的AzureAD应用的应用ID
clientSecret: ‘g+IisbGtjKqwQCz6GxO9Tw01ca59MxI8YLFE3WEudwY=‘:新加入的AzureAD应用的密钥
var resource = ‘https://esquel.onmicrosoft.com/705cadd7-d8b2-44f7-9c28-3841c112f04b‘;:后台API应用的URI
另外修改“views/index.jade”代码为
运行命令“npm start”运行项目,并打开浏览器,输入地址“http://localhost:3006”
三、Postman调用WebAPI
如chrome浏览器还没有安装postman的,先安装postman
安装postman后
正常未使用token时,是无法访问的
如在header的Authorization设置为"Bearer"+空格+token,即可访问到API