使用Postman访问OAuth2保护的WebAPI

Instantnoodle现时的WebAPI已经受Azure AD保护,平时直接输入URL的方式已经不能够正常访问到WebAPI

所有API都可以Swagger页面找到

http://getazdevnt002.chinacloudapp.cn/sprint9/swagger/ui/index

 

例如请求:http://getazdevnt002.chinacloudapp.cn/sprint9/api/v1/masterdata,请求后会直接提示没有权限

http://getazdevnt002.chinacloudapp.cn/sprint9/api/v1/masterdata

因为受保护的WebAPI需要有授权才能够进入

首先打开一个新的Chrome浏览器窗口,并打开F12高度工具,并在浏览地址栏中输入以下URL

以下是完整的URL地址

https://login.microsoftonline.com/29abf16e-95a2-4d13-8d51-6db1b775d45b/oauth2/authorize?
client_id=c7dab103-ce04-42cd-b199-e510e95334c5
&response_type=token+id_token
&redirect_uri=https://designer-workbench.azurewebsites.net
&response_mode=form_post
&scope=openid
&state=12345
&nonce=7362CAEA-9CA5-4B43-9BA3-34D7C303EBA7
&resource=https://esquel.onmicrosoft.com/705cadd7-d8b2-44f7-9c28-3841c112f04b

从调试工具中Newwork选项卡,Headers中,可以看到Request Headers可以看到返回的参数

 

重新打开Postman,并输入后台WebAPI地址,例如http://getazdevnt002.chinacloudapp.cn/sprint9/api/v1/masterdata,并在Headers中加入Authorization参数,参数的值是请求返回的"Bearer"+空格+AccessToken,再次点击Send已经能够正常返回数据了。

http://getazdevnt002.chinacloudapp.cn/sprint9/api/v1/masterdata

Post方式也是没有问题的

http://getazdevnt002.chinacloudapp.cn/Sprint9/api/v1/stylelibrary/search/1/1

以上即是使用Postman访问受保护的WebAPI的方式

 

或者直接请求的方式

https://login.microsoftonline.com/29abf16e-95a2-4d13-8d51-6db1b775d45b/oauth2/token
grant_type:client_credentials
client_id:741a869c-ce4c-46c0-8794-60a6391293ca
client_secret:QQjwdZJN+ZYK58o7EMZJhzNpxOABTGa1mxttkYhHuZo=
resource:https://esquel.onmicrosoft.com/705cadd7-d8b2-44f7-9c28-3841c112f04b

 

如果做到此步都还是无法获取数据,并且提示401,请联系Wes Chen /GET/IT

转载于:https://www.cnblogs.com/weschen/p/6806369.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值