Dynamics 365Online 使用adal.js注册和配置SimpleSPA应用程序
本篇是基于dynamics 365online撰写,本文中使用的365online及azure均为试用版,因为online在国内还没落地,所以我申请的是新加坡版,online的申请方式可见我之前的博文有分享,如果已有online没有azure则可用dynamics 365的账号登陆office 365,点击下图中红框中的azure ad跳转到azure页面进行申请,试用版的申请需要绑定下信用卡,试用期一个月,如不提交付费申请是不会自动扣费的所以放心绑吧,如果你已有azure账号那需要和365绑上,具体的绑定方法见本文最后的链接,我这里没有截图可分享。
准备工作做完了那就开始吧,本例参照msdn示例,用的代码也是msdn中的示例代码,打开visual studio创建一个web application然后新建一个叫SimpleSPA.html的html页面,把示例代码贴进去,代码中关键的几行
var organizationURI = "https:// [organization name].crm5.dynamics.com"; //The URL to connect to CRM (online),比如我的使用环境https://skysoft002.crm5.dynamics.com, //这里的skysoft002即是组织名也是后期的AD名 var tenant = "[xxx.onmicrosoft.com]"; //The name of the Azure AD organization you use 这边的xxx就是skysoft002 var clientId = "[client id]"; //The ClientId you got when you registered the application,这个要在后面在azure ad设置好后才能知道 var pageUrl = "http://localhost: [PORT #]/SimpleSPA.html"; //The URL of this page in your development environment when debugging. 注意这边的端口号,我们本地测试的时候我们F5运行之前建的web application, 本地IIS express会分配个端口号,后面在设置azure ad时需要填上
针对最后一条的port端口号,我这里运行以后是16654,本地application准备好后就去设置azure ad了。
登录azure,也可以从前面介绍的office 365入口进入,这里能看到ad目录,以及叫skysoft002的ad名称
点击skysoft002这个目录进去后,切换到应用程序界面,你可以点击添加按钮来添加应用程序,我这里已经建好了名为SimpleSPA的应用程序
点击添加按钮跳转到"要执行什么操作界面",选择"添加我的组织正在开发的应用程序"
填上应用程序的两个属性,第一个框就是上面图中login那个的地址,第二个框可以直接拷贝第一个框的地址即可
上述配置完后点击那个打勾按钮,然后页面会跳转到配置页面,页面往下拉就能看到叫做客户端id的一串码,这就是代码中clientId的值
配置页滚动条拉到最下面,点击添加应用程序要把dynamics crm online添加上(截图中我已经添加过了),再在委托的权限下拉并打勾
再点击配置页最下方的管理清单按钮,点击下载清单会有一个json文件下载下来
找到红框中的这个属性并将其设置为true,最后再点击上传清单,把修改好的json文档传上去,上述所有的修改都要在配置页面点击保存按钮进行保存。
至此azure ad的应用程序配置已完成,把SimpleSPA.html中的参数配置都更新好(本文之前贴出来代码),最后运行来看看结果。
F5运行,点击login按钮会跳转到登录页,使用online的账号登录后跳回simplespa.html页面
点击getaccounts按钮就能把数据拉出来,截图中显示的均是online中的示例数据,至此本demo结束。
本篇演示的是在html页面中通过调用online的OAuth身份验证后再通过web api取10条客户数据并展示,后续的博文会继续讲述如何在server-side程序中调用online的OAuth认证再通过web api取客户数据。
本文的参考文献如下:
https://msdn.microsoft.com/en-us/library/mt595797.aspx#bkmk_goal,
https://community.dynamics.com/crm/b/mscrmshop/archive/2016/01/31/crm-web-api-and-cors-support
文中用到的示例代码来自第一条文献
Dynamics 365Online 使用adal.js注册和配置SimpleSPA应用程序的更多相关文章
- SharePoint Online 使用 adal js 获取access token
最近在写一些SharePoint 的sample code, 有兴趣的小伙伴可以查看我的GitHub. 今天给大家介绍SharePoint Framework (SPFx )web part 当中怎 ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置
前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...
- [转载]fullPage.js中文api 配置参数~
fullPage.js中文api 配置参数 选项 类型 默认值 说明 verticalCentered 字符串 true 内容是否垂直居中 resize 布尔值 false 字体是否随着窗口缩放而缩放 ...
- SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法
操作步骤: 1. 在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击"开始"."运行",然后在"打开&quo ...
- js注册读秒进度条
转载自://http://blog.csdn.net/wugouzi/article/details/12621385 <head> <meta http-equiv="C ...
- Dynamics AX 2012 R3 Demo 安装与配置 - 导入测试数据 (Step 4)
在前面三节中,Reinhard分别讲解了如何配置安装环境,安装数据库服务器,AOS和客户端,安装后的编译和配置.如果一直跟随Reinhard的脚步,到这里,已经拥有一个没有数据的系统. ...
- oracle server配置:监听程序未启动或数据库服务未注册到该监听程序
第一次安装oracle时,时完全没有任何问题的, 但是当我去配置oracle_home时,误按之下进入了Database Configuration Assistant, 然后配置已有的一个数据库,就 ...
- DUBBO高级配置:多注册中心配置
有时候我们需要的服务不在同一个 zookeeper 注册中心上,此时我们需要在 DUBBO 配置文件中配置多个注册中心. 下面我们在之前创建项目的基础上在 provider 模块中增加一个 IBook ...
- js开发环境配置
使用Sublime Text3作为主要开发工具.下载地址:http://www.sublimetext.com/3. sublime拥有大量实用插件,使用插件需要先下载PackageControl以便 ...
随机推荐
- 设置多台机器linux服务器ssh相互无密码访问
在每台服务器上都执行ssh-keygen -t rsa生成密钥对: $ ssh-keygen -t rsa Generating public/private rsa key pair. Enter ...
- 判断一个类是否为另一个类的实例 instanceof关键字和isAssignableFrom方法的区别
Which of the following is better? a instanceof B or B.class.isAssignableFrom(a.getClass()) The only ...
- 通过超链接启动App
问题:微信里分享一个链接给你,你点击这个链接,一.如果你安装了这个钱包,那就直接打开钱包.二.如果没有安装钱包就跳转到下载钱包的地方 要点:首先要让浏览器知道 app 是谁,然后再让浏览器调用app ...
- Chrome 的 Material Design Refresh UI初探
今天Chrome自动升级到69.0.3497.92, 发现UI已经变成了"Material Design Refresh". Chrome 浏览器的页面标签已经不再像以往那样倾斜和 ...
- mpvue小程序图片404
mpvue开发小程序时候,要添加静态本地图片 <img src="../../images/bg.png" alt=""> 会报错: VM14878 ...
- How to correctly handle ThreadLocal.get() returning null
Java's ThreadLocals make certain things easy, but special care must be taken to make sure they are r ...
- Flutter踩坑日记:接入现有iOS项目
之前搞的Flutter版工具链已经弄完了,感兴趣的朋友可以围观下,Android版本dio库(v2.0.14)发送网络请求老是报错,去官方提了issue还没回,于是今天搞一下把Flutter模块接入到 ...
- CodeForces -977F(突破定式思维+map应用)
题目链接: https://cn.vjudge.net/problem/CodeForces-977F /* 问题 输入n和n个数的数列 计算并输出最长增量为1的上升子序列 解题思路 用n2的最长上升 ...
- Spring基础(3) : 静态工厂和实例工厂创建bean
public class Factory { public static Person staticCreate(){ Person p = new Person(); p.name="st ...
- 50道sql练习题和答案
最近两年的工作没有写过多少SQL,感觉水平下降十分严重,网上找了50道练习题学习和复习 原文地址:50道SQL练习题及答案与详细分析 1.0数据表介绍 --1.学生表 Student(SId,Snam ...