配置Postman通过OAuth 2 implicit grant获取Dynamics 365 CE Online实例的Access Token

微软动态CRM专家罗勇 ,回复335或者20190516可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me.

对于测试Web API, Get 类型,不需要设定特别request header的还好,登录系统后直接在浏览器中即可测试。

但是对于其他请求就不是很好做,本文就是要解决这些问题,环境设置请参考官方文档: Set up a Postman environment ,本文还参考了官方文档: Microsoft identity platform and Implicit grant flow

首先需要注册一个Azure Active Directory的App,可以参考我前面的博文:Dynamics 365 Online通过OAuth 2 Client Credential授权(Server-to-Server Authentication)后调用Web API ,我这里只提不一样的。

 

然后再增加API permission,如下:

 

权限选择如下:

 

 

选择完毕后界面如下:

 

还需要为该App在 Authentication 页面选择Access tokens 并保存。

 

 

然后打开Postman,点击右上角的 Management Environments 图标,然后点击【Add】按钮。

 

我这里添加的参数如下,然后关闭 MANAGE ENVIRONMENTS窗体。

# VARIABLE INITIAL VALUE
1 resourceurl https://orgd2aae10d.crm5.dynamics.com
2 clientid 5a7813f0-eb2c-4dc4-9708-022dfae5a8f5
3 version 9.1
4 webapiurl {{resourceurl}}/api/data/v{{version}}/
5 callback https://localhost
6 tenantid 7a789d88-dad0-4a6c-aa55-11046610ad54
7 authurl https://login.microsoftonline.com/{{tenantid}}/oauth2/v2.0/authorize

 

 

 

 然后记得切换Environment 为前面步骤新建的,认证选择 OAuth 2.0 ,再点击右边的【Get New Access Token】按钮。

 

Token Name 取有意义的名字即可,Grant Type选择Implict,Callback URL, Auth URL和Client ID的值设置为前面步骤的变量名如下,然后点击【Request Token】按钮。

#  Field Name Field Value
1 Token Name cdstoken ,此字段值有意义即可
2 Grant Type Implicit
3 Callback URL {{callback}}
4 Auth URL {{authurl}}
5 Client ID {{clientid}}
6 Scope {{resourceurl}}/user_impersonation
7 State 为空不变
8 Client Authentication Send as Basic Auth Header

 

 

 

 

然后会弹出登录页面,请完成登录:

 

登陆后出现授权界面,当然点击【接受】按钮

 

然后登录窗口就会关闭,在 【MANAGE ACCESS TOKENS】窗口点击 【Use Token】按钮。

 

 

获取到的Access Token就会自动填充到Access Token这个文本框,然后我进行测试,选择GET请求类型,URL中输入 {{webapiurl}}WhoAmI ,然后点击 【Send】,会看到返回了数据,测试成功。

 

posted @ 2019-05-16 18:18  微软MVP(15-18)罗勇  阅读(1295)  评论(0编辑  收藏  举报