尝试在 ADFS 3.0 上托管的面向 Internet 的动态 CRM 2015 部署上设置 OAuth 2.0 端点时遇到错误?

Encountered errors when trying to set up the OAuth 2.0 endpoint on my dynamic CRM 2015 internet facing deployment hosted on ADFS 3.0?

我正在按照 msdn 网站中描述的 guidelines 在我的本地域中设置动态 CRM 服务器 2015,一切正常。

但是我在使用 OAuth 2.0 身份验证访问我的服务器时遇到了一些问题。来自官方document,动态CRM支持OAuth认证

Developers who create modern and mobile apps, including apps not built on the .NET Framework, can access Microsoft Dynamics CRM business data through the SOAP and OData endpoints of the organization web service. This web service supports certain authentication capabilities found in the OAuth 2.0 protocol.

然而,当我按照 link 执行 OAuth 流程时,我在尝试获取访问令牌时在 AD FS 事件日志中收到以下错误消息信息。

Encountered error during federation passive request. Exception details: Microsoft.IdentityServer.RequestFailedException: MSIS7065: There are no registered protocol handlers on path /adfs/oauth2/token to process the incoming request. at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)

我已经将 OAuth 2.0 应用程序添加到我的 CRM 服务器中。我的问题是我错过了哪些步骤才能使 OAuth 身份验证有效?

已更新 [11/11/2015]: 原来我用postman做token获取操作的时候可能配置有错误。我使用了 PowerShell,它工作正常。在下面分享我的命令:

$nvc = New-Object System.Collections.Specialized.NameValueCollection
$nvc.Add("client_id", "you client id")
$nvc.Add("grant_type", "authorization_code")
$nvc.Add("code", "authorization code")
$nvc.Add("redirect_uri", "your redirect uri")
$wc = new-object net.webclient
$response = $wc.UploadValues("https://your.adfs.server/adfs/oauth2/token", "POST", $nvc)
$tokens = $wc.Encoding.GetString($response);

我在使用邮递员时遇到了同样的错误。我只是忘了使用 x-www-form-urlencoded。然后就很好用了。