CRM 2013 配置 OAuth 2.0

目前本博文是基于Windows Server 2012 R2,它自带的 AD FS 的版本是 2.2,其他版本不支持。

首先要在AD FS服务器上为Intranet打开基于表单的验证,这里我的 前一篇博文 已经讲了。

1. 以管理员身份登陆到AD FS服务器。

2. 打开 AD FS管理界面。

3.点击左边的 身份验证策略,会看到中间的 主要身份验证 部分的 全局设置,点击  编辑 链接。

4.将Intranet下面的 表单身份验证 勾选。

处理后界面如下。

然后就是在AD FS服务器上打开PowerShell,执行如下命令:

Add-PSSnapin Microsoft.Crm.PowerShell
$fedurl = Get-CrmSetting -SettingType ClaimsSettings
$fedurl.FederationProviderType = 1
Set-CrmSetting $fedurl

值得一提的是,虽然FederationProviderType设置为了1,但是就算重启了服务器,这个值还是没有改过来,这算是一个Bug吧,囧。

接下来是添加 AD FS 客户端:

官方的示例代码是:

Add-AdfsClient -ClientId ce9f9f18-dd0c-473e-b9b2-47812435e20d -Name
"Dynamics CRM Mobile Companion" -RedirectUri
ms-app://s-1-15-2-2572088110-3042588940-2540752943-3284303419-1153817965-2476348055-1136196650/,

ms-app://s-1-15-2-1485522525-4007745683-1678507804-3543888355-3439506781-4236676907-2823480090/,
urn:ietf:wg:oauth:2.0:oob

我随便添加一个,以备后来用于web应用程序的开发。

Add-AdfsClient -ClientId "ba106265-fb3b-49e0-a0e8-6840b3d71ac2" -Name "luoyong‘s dynamics CRM ADFS Client" -RedirectUri "http://www.luoyong.me"

下面我介绍如何配制才能运行SDK\SampleCode\CS\ModernAndMobileApps\ModernOdataApp 这个程序,我这里是以管理员身份运行Visual Studio 2012来打开它。

首先打开它,需要安装一个Nuget Package,点击 工具 > 库程序包管理器 > 程序包管理器控制台 。

然后使用如下命令安装:

Install-PackageMicrosoft.Preview.WindowsAzure.ActiveDirectory.Authentication

可以看到安装成功了。

当然,通过 工具 >  库程序包管理器 > 管理解决方案的NuGet程序包也是可以看到已经安装了的。

在增加Adfs
Client的时候需要为RedirectUri参数赋值,这个值怎么获取呢?可以通过
WebAuthenticationBroker.GetCurrentApplicationCallbackUri().ToString()
来获取。修改程序中的 CurrentEnvironment.cs 文件,增加一行 string x = redirectUrl;
,在这行设置断点,然后debug这个程序,就可以获取到了。

这样我们就可以增加一个AdfsClient了,在Adfs服务器上打开PowerShell,运行如下命令:

Add-AdfsClient -ClientId 73893D88-63E6-485E-9953-9CF50330748E -Name
"luoyong‘s win8 desk app adfs client" -RedirectUri
ms-app://s-1-15-2-2546649515-4026661643-3605107077-273277970-2480924813-1788835805-1056465539

当然ClientId参数的值可以随意,唯一标志本Client即可。官方建议用Guid,我这里是用Visual Studio生成了一个Guid。然后我用Get-AdfsClient来查看下,确保添加成功了。

然后是修改配置,主要是修改我下图所示的三个常量的值。_ClientID常量的值我设置为上文我们增加的AdfsClient的ClientId参数的值,其余两个根据你的CRM部署来设置。

然后我Debug起来会看到如下的登陆页面。

我这里输入的凭据如下:

点击登陆以后可以看到如下的界面:

我这里打开Accounts功能给大家看。

你还会发现第二次debug的时候不需要登陆了,这个密码肯定是被存储起来了,应该是存储在 凭据管理器 中,打开控制面板,点击 凭据管理器。

你会发现多了Web凭据如下。

时间: 2024-10-25 21:10:58

CRM 2013 配置 OAuth 2.0的相关文章

Dynamics CRM 2013 配置之 添加配置 域证书服务器 和 ADFS

配置完防火墙后,开始正式配置域证书服务器和 ADFS 启动 Windows Server 2012 R2 注:本文会适当把微软英文原话复制过来(英语来自微软MSDN官网),增加大家英文阅读能力. 选中      1. Active Directory Federation Services.(ADFS)           2. Active Directory 证书服务 结束.

Dynamics CRM 2013 配置之 添加 Exchange server 2013

因为 Exchange server 2013比较占用系统资源,运行在虚拟机中太慢,所以本人测试了,用了二天就删了,所以只发布安装过程,其它的没有测试. 添加IIS, APS.net 双击打开安装程序: 安装文件到官方下载试用版本.

Dynamics CRM 4.0升级Dynamics CRM 2013后全局Ribbon的修改

最近在为一个客户在Dynamics CRM 4.0到Dynamics CRM 2013的升级,升级之后发现原来在Dynamics CRM 4.0中定义的全局Ribbon按钮像牛皮癣一样,在每个实体页面的ISV Group下都显示着,但又不显示正确的中文按钮名,并且也没有正确的执行相应的功能,所以需要对这些Ribbon进行修改. 首先,在Dynamics CRM 4.0的[系统设置]-[自定义]-[导出自定义项]里选择[ISV配置]然后将其导出,然后在Dynamics CRM 2013的[系统设置

crm on premise IFD 部署下提供oauth 2.0 集成自定义应用

很多情况下我们的CRM系统会和弟三方应用集成,一般情况我们会开发一个中间站点来提供web api 给弟三方应用. 利用adfs 带的auto2.0可以有一种简单的方式和弟三方应用集成.我们做的只需要类似像和微信.微博.QQ集成弟三登录功能一样实现 ADFS oauth 2.0 弟一步 在ADFS上注册一个client ,生成的 ClientId.RedirectUri (指跳转页面),在ADFS中没有密码这个属性,在请求code的时候 会用这两个属性代替clientid和密码 Add-AdfsC

Dynamic CRM 2013学习笔记(三十八)流程1 - 操作(action)开发与配置详解

CRM 2013 里流程有4个类别:操作(action).业务流程(business process flow).对话(dialog)和工作流(workflow).它们都是从 setting –> Process 进入,然后点击New按钮来创建: 这篇主要介绍操作:什么是操作.什么时候使用操作.如何创建以及如何调用 一.什么是操作 操作是CRM 2013 新增加的一个功能,用来扩展系统的标准功能.业务人员可以用它来实现业务逻辑,然后开发人员可以在系统事件里(比如update,create)来使用

从 Microsoft Dynamics CRM 4.0 服务器迁移到 Microsoft Dynamics CRM 2013 Server

不能就地升级早于 Microsoft Dynamics CRM Server 2011 的版本,比如 Microsoft Dynamics CRM 4.0 服务器.但是,可以在升级过程中使用 Microsoft Dynamics CRM Server 2011 的试用版 32 位版作为过渡步骤,将 Microsoft Dynamics CRM 4.0 部署升级为 Microsoft Dynamics CRM 2013.若要将本的 Microsoft Dynamics CRM 4.0 服务器 迁移

开源免费ERP/CRM/SCM:iDempiere 2.0 安装配置

首先简单介绍一下iDempiere:iDempiere是一款Java平台的基于Compiere/ADempiere的?开源企业级开源ERP/CRM/SCM系统?, 由于是在ADempiere基础上用OSGi进行了重构,这为后续的商务解决方案的开发.扩展扫平了道路. 最近更新到2.0稳定版. webUI界面: Swing界面: iDempiere官方网页 iDempiere WIKI网站 iDempiere下载地址 WIKIQSS Red1HengSinJIRA Source jenkins So

从 Microsoft Dynamics CRM 4.0 server迁移到 Microsoft Dynamics CRM 2013 Server

不能就地升级早于 Microsoft Dynamics CRM Server 2011 的版本号,比方 Microsoft Dynamics CRM 4.0 server.可是,能够在升级过程中使用 Microsoft Dynamics CRM Server 2011 的试用版 32 位版作为过渡步骤.将 Microsoft Dynamics CRM 4.0 部署升级为 Microsoft Dynamics CRM 2013.若要将本的 Microsoft Dynamics CRM 4.0 se

Dynamic CRM 2013学习笔记(二十一)自定义审批流2 - 配置按钮

上次介绍了 Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示 现在开始介绍如何配置审批流,首先在form上添加三个按钮,Submit, Agree, Reject:   1. submit 按钮 $webresource:crm_PNG_approvaltemplate_16 $webresource:crm_PNG_approvaltemplate_32   SubmitBill $webresource:neu_wf_utility     2. Agree 按钮