使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM