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

2024-01-01 23:48

本文主要是介绍【转】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记录一下如何通过代码获取访问令牌。

这篇关于【转】D365 FO第三方集成(一)---访问认证(应用注册)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/560825

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到