本篇是基于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应用程序的更多相关文章

  1. SharePoint Online 使用 adal js 获取access token

    最近在写一些SharePoint 的sample code, 有兴趣的小伙伴可以查看我的GitHub. 今天给大家介绍SharePoint Framework (SPFx  )web part 当中怎 ...

  2. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置

    前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...

  3. [转载]fullPage.js中文api 配置参数~

    fullPage.js中文api 配置参数 选项 类型 默认值 说明 verticalCentered 字符串 true 内容是否垂直居中 resize 布尔值 false 字体是否随着窗口缩放而缩放 ...

  4. SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

    操作步骤: 1. 在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击"开始"."运行",然后在"打开&quo ...

  5. js注册读秒进度条

    转载自://http://blog.csdn.net/wugouzi/article/details/12621385 <head> <meta http-equiv="C ...

  6. Dynamics AX 2012 R3 Demo 安装与配置 - 导入测试数据 (Step 4)

        在前面三节中,Reinhard分别讲解了如何配置安装环境,安装数据库服务器,AOS和客户端,安装后的编译和配置.如果一直跟随Reinhard的脚步,到这里,已经拥有一个没有数据的系统.     ...

  7. oracle server配置:监听程序未启动或数据库服务未注册到该监听程序

    第一次安装oracle时,时完全没有任何问题的, 但是当我去配置oracle_home时,误按之下进入了Database Configuration Assistant, 然后配置已有的一个数据库,就 ...

  8. DUBBO高级配置:多注册中心配置

    有时候我们需要的服务不在同一个 zookeeper 注册中心上,此时我们需要在 DUBBO 配置文件中配置多个注册中心. 下面我们在之前创建项目的基础上在 provider 模块中增加一个 IBook ...

  9. js开发环境配置

    使用Sublime Text3作为主要开发工具.下载地址:http://www.sublimetext.com/3. sublime拥有大量实用插件,使用插件需要先下载PackageControl以便 ...

随机推荐

  1. [原创]K8 DNN密码解密工具(DotNetNuke Password Decrypt)

    工具: K8_DNN_Password_Decrypt编译: VS2012  C# (.NET Framework v2.0)组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http: ...

  2. Yii2+Swagger搭建RESTful风格的API项目

    在现有的Advanced Template上搭建RESTful API项目的步骤: 本案例前提说明: 本例中不使用\yii\rest\ActiveController自动创建的API,而是自定义一个A ...

  3. 修改gitlab仓库地址

    最近使用GitLab 搭建了Git的私有仓库,但是发现私有仓库的地址是一串序列号,搞了半天克隆时都是提醒仓库无效,后来才觉得不对,不是本机的IP地址如图 对此我们需要修改gitlab.yml文件: 1 ...

  4. php javascript comet

    简单描述: comet是用ajax实现的服务器推送,有两种实现comet的方式,长轮询和流,这里只实现长轮询. 长轮询的过程:页面发起一个服务器请求,然后服务器一直保持连接打开,直到有数据返回.返回数 ...

  5. 垃圾回收(GC)相关算法笔记

    GC需要完成的3件事情: 哪些内存需要回收? 什么时候回收? 如何回收? 引用计数算法 给对象中添维护一个计数器,每当引用这个对象时,计数器加1:当引用失效时,计数器值减1:当计数器值为0时,表示这个 ...

  6. JAVA与DOM解析器提高(DOM/SAX/JDOM/DOM4j/XPath) 学习笔记二

    要求 必备知识 JAVA基础知识.XML基础知识. 开发环境 MyEclipse10 资料下载 源码下载   sax.dom是两种对xml文档进行解析的方法(没有具体实现,只是接口),所以只有它们是无 ...

  7. Hadoop2源码分析-RPC机制初识

    1.概述 上一篇博客,讲述Hadoop V2的序列化机制,这为我们学习Hadoop V2的RPC机制奠定了基础.RPC的内容涵盖的信息有点多,包含Hadoop的序列化机制,RPC,代理,NIO等.若对 ...

  8. 作用域中LHS查询和RHS查询

    LHS查询:赋值操作左侧的查询,LHS查询试图找到变量的容器本身,,从而对其赋值. RHS查询:赋值操作右侧的查询,可以理解为"取到某某的值" 举例: function foo(a ...

  9. CNN初探

    CNN初探 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7450413.html 前言 这篇博客主要讲解卷积神经网络(CNN) ...

  10. spring-boot-mail

    1. 功能 发送普通邮件 发送htm邮件 发送带附件的邮件 发送带静态资源的邮件 2. 实现 类结构图 3. 实现 接口 package com.jihite.service; public inte ...