从Axapta3.0的COM Business Connector,到AX4.0和AX2009的 .NET Business Connector,到AX2012的WCF Services,最后到D365FO的接口方式。
AX的接口演化,几乎见证了微软整个技术栈的变迁。
D365 FO的Web Services比起AX2012有了飞跃,用起来比AX2012好了很多。
最近在开发一个接口供第三方调用,边做边记录一下过程。
D365托管在云上,可以使用Azure的一些组件完成与D365的集成,比如App Logic,很多功能不需要重复造轮子。
但是搞清楚原理才能更好地使用别人的轮子,所以还是从头做一遍再用别人的轮子比较好。
另外有时候汽车的轮子虽好,装在自行车上也不合适。
这篇blog记录一下访问认证中的应用注册。
D365托管在Azure云上,最大化利用Azure的现有的技术栈,Web Services的认证用了Azure里的应用注册,通过应用注册获取访问D365的访问令牌。
应用注册
微软官方网站上有详细的说明,这里只是记录我做的过程,不见得合理。
登陆azure portal,找到应用注册。
新建应用注册
输入应用的名字,选择任何组织目录。
点击注册,完成注册过程,可以看到注册以后的信息
上面的应用程序ID(APPID),租户ID(tenantID)在后面程序访问的时候都要用到。
点击终结点
其中的令牌终结点,我们获取Token的时候需要用到。
接下来需要配置API权限,让注册的应用可以访问D365 FO应用。
点击添加权限,选择DynamicsERP.
选择委托的权限,选择权限,添加。
创建访问密码
创建好以后一定要拷贝下来,要不然后面再也看不到密码了。
这个密码配合前面提到的APPID用于请求访问令牌。
到这里Azure Portal上的内容就差不多了,当然还有很多细节问题没涉及。
在D365 FO中也需要登记一下APPID,这样D365FO才能验证访问请求带过来的访问令牌是否合法,如果不设置,访问的时候会提示,远程服务器返回错误: (403) 已禁止。
系统管理->设置->Azure AD应用程序
客户端ID输入应用程序ID,用户ID选择一个有相应权限的系统用户。
到此为止,应用注册就完成了,下一篇blog记录一下如何通过代码获取访问令牌。