是否可以使用拥有DotNetOpenAuth的公共客户端的所有者P/C授权类型?
从写入的那一刻起,此行为在主分支和DotNetOpenAuth的v4.0分支中有所不同。我正在使用公共客户端的资源所有者密码凭证授权类型。主分支按预期发布令牌。 v4.0分支认为请求无效。执行流程在AccessRequestBindingElement.ProcessIncomingMessage
方法,其中执行以下代码结束:是否可以使用拥有DotNetOpenAuth的公共客户端的所有者P/C授权类型?
// Check that the client secret is correct. var client = this.AuthorizationServer.GetClientOrThrow(accessRequest.ClientIdentifier);
string secret = client.Secret;
ErrorUtilities.VerifyProtocol(!string.IsNullOrEmpty(secret), Protocol.unauthorized_client); // an empty secret is not allowed for client authenticated calls.
由于客户端是公共的,所述代码生成一个错误。然而,上面的代码中的注释意味着该授予是客户端认证的,而不是资源所有者密码凭证。我是否错误地称这个?
在主分支中,相同的调用起作用。
回答:
v4.0不支持该场景,而主分支(预定为v4.1)目前呢。是否DotNetOpenAuth继续支持使用资源所有者密码授权类型的公共客户端仍有待确定,因为如果用户想要查看授权客户端,它会导致授权服务器有能力撤销具有合理用户体验的令牌的问题。
以上是 是否可以使用拥有DotNetOpenAuth的公共客户端的所有者P/C授权类型? 的全部内容, 来源链接: utcz.com/qa/257426.html