【转】D365 FO第三方集成(一)---访问认证(应用注册)

从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记录一下如何通过代码获取访问令牌。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】Postman系列一:Postman安装及使用过程中遇到的问题

一:Postman的简介、下载安装及界面说明 1.Postman的简单介绍 Postman是一款强大的网页调试和发送网页HTTP请求的工具,Postman让开发和测试人员做API(接口)测试变得更加简单。在我使用Postman之前还有一个版本,就是需要…

Python 数据分析三剑客之 Pandas(十):数据读写

CSDN 课程推荐:《迈向数据科学家:带你玩转Python数据分析》,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员;已出版《跟老齐学Python:轻松入门》《跟老齐学Py…

COVID-19 肺炎疫情数据实时监控(python 爬虫 + pyecharts 数据可视化 + wordcloud 词云图)

文章目录【1x00】前言【2x00】思维导图【3x00】数据结构分析【4x00】主函数 main()【5x00】数据获取模块 data_get【5x01】初始化函数 init()【5x02】中国总数据 china_total_data()【5x03】全球总数据 global_total_data()【5x04】中国每日数据 china_daily_data()【5x05】境外…

【转】Postman系列二:Postman中get接口实战讲解(接口测试介绍,接口测试流程,头域操作)

一:接口测试介绍 接口测试:就是针对软件对外提供服务的接口输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能和接口描述文档的一致性。 接口测试好处:接口测试通常能对系统测试的更为彻底,更高的保…

Python3 爬虫实战 — 前程无忧招聘信息爬取 + 数据可视化

爬取时间:2020-07-11(2020年10月测试,增加了反爬,此代码已失效!!!)实现目标:根据用户输入的关键字爬取相关职位信息存入 MongoDB,读取数据进行可视化展示。涉…

【转】Postman系列三:Postman中post接口实战(上传文件、json请求)

一:接口测试过程中GET请求与POST请求的主要区别 从开发角度我们看get与post的主要区别是: 1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据; 2.Get安全性比Post低:Get将表单中数据的按照keyvalue的形式…

Hadoop datanode正常启动,但是jps差不多datanode进程,而且Live nodes中却缺少节点

启动时可以看到启动成功,但是在chun2,jps的时候却没有了datanode进程,而且web端Live nodes也缺少了 百度搜索之后查到是因为hdfs.site.xml配置文件里dfs.data.dir配置的路径重复,就是多个节点存放data数据的目录路径相同了&#x…

【转】Postman系列四:Postman接口请求设置环境变量和全局变量、测试沙箱和测试断言、测试集运行与导入数据文件

一:Postman中接口请求设置环境变量和全局变量 全局变量和环境变量可以通过Pre-request Script和Tests设置,会在下面测试沙箱和测试断言中讲到。 全局变量的设置:官网参考https://learning.getpostman.com/docs/postman/environments_and_glob…

Python 算法之递归与尾递归,斐波那契数列以及汉诺塔的实现

文章目录递归概念递归要素递归与迭代的区别示例一:阶乘示例二:斐波那契数列示例三:汉诺塔问题尾递归Python 中尾递归的解决方案递归概念 递归:程序调用自身的编程技巧称为递归( recursion)。用一种通俗的话…

【转】Postman系列五:Postman中电商网站cookie、token检验与参数传递实战

一:Postman中电商网站cookie实战 Postman接口请求使用cookie两种方式: 1.直接在header(头域)中添加cookie,适用于已知请求cookie头域的情况 2.使用Postman的cookie管理机制,即可以手动添加,同时…

Python 数据结构之栈的实现

文章目录栈的概念栈的特点栈的操作Python 实现栈栈的简单应用:括号匹配问题栈的简单应用:倒序输出一组元素栈的概念 栈(stack)又名堆栈,栈是一种线性数据结构,用先进后出或者是后进先出的方式存储数据&…

CSDN 2020 博客之星实时数据排名(Python 爬虫 + PyEcharts)

CSDN 2020 博客之星实时数据排名:csdn.itrhx.com CSDN 一年一度的博客之星评选开始了,官网地址:https://bss.csdn.net/m/topic/blog_star2020 ,由于官网是按照随机编号排序的,没有按照票数多少排序,为了方便…

【转】注册Azure AD 应用程序

作者:陈希章 发表于2017年3月22日 在此前的文章中,我给大家介绍了分别用Graph 浏览器以及第三方工具(POSTMAN)快速体验Microsoft Graph的功能,其中有一个重要的环节就是,开发人员需要访问Microsoft Graph的…

Python + GitHub Actions 实现 CSDN 自动签到与抽奖(非 selenium 版本)

文章目录【1x00】技术栈【2x00】代码实现签到与抽奖【3x00】签到结果通知【03x01】Server 酱【03x02】企业微信【03x03】钉钉【4x00】自动签到【5x00】完整代码【6x00】如何使用【06x01】方法一:直接 Fork 代码(推荐)【06x01】方法二&#xf…

Spark安装配置

Scala基础语法学习的差不多了,先把spark安装上 首先官网下载解压安装后 进入到conf目录下修改文件名 修改spark-env.sh(配置jdk路径) export JAVA_HOME/usr/local/java/jdk1.8.0_221修改slaves(添加子节点名) chun…

【转】注册Azure AD 2.0 应用程序

作者:陈希章 发表于 2017年3月22日 上一篇 介绍了Microsoft Graph应用程序的一些概念,以及目前还比较普遍的Azure AD 1.0应用程序的注册方式。但正如我多次提到的那样,虽然目前功能还在不断完善,但Azure AD 2.0会逐渐成为主流&…

Python 采集 Facebook 评论插件、留言外挂程序

实现时间:2021-05-30实现难度:★★★☆☆☆实现目标:采集 Facebook 评论插件、留言外挂程序的所有评论。完整代码:https://github.com/TRHX/Python3-Spider-Practice/tree/master/CommentPlugin/facebook-comments其他爬虫实战代码…

写第一个spark程序(wordcount)

首先启动集群与spark 其次把spark目录下的README.md上传到hdfs 进入spark下的bin目录,运行spark-shell ./spark-shell运行 val textFile sc.textFile("hdfs://chun1:9000/spark/README.md")val wordCounts textFile.flatMap(line>line.split("…

【中国版Office 365 应用程序注册】

中国版Office 365是由世纪互联进行运营的一个云服务,单纯从技术角度来看的话,它基本保持了与国际版的同步。但是由于两个版本本质上是完全独立的,其中最关键的就是账号系统是分开的,所以从使用角度来看,不管是直接用户…

Python 中如何解决 asyncio 文件描述符最大数量限制问题

文章目录问题复现问题分析事件循环 EventLoopI/O 多路复用select 的缺点解决方法1.更换事件循环选择器2.限制并发量3.修改最大文件描述符限制WindowsLinux总结WindowsLinux问题复现 Windows 平台下,Python 版本 3.5,使用异步框架 asyncio,有…