OAuth 2.0客户端凭据获取用户ID

时间:2017-12-21 21:30:15

标签: c# oauth-2.0 asp.net-web-api2 identityserver3

我正在使用Identity Server 3并使用OAuth 2.0关注here.客户端凭据中的示例。

我覆盖了AuthorizeAttribute但是当我查看ClaimsIdentity时,名称 Actor 为空。这是设计的吗?我有责任填充他们?如果是这样的话?我看到声明 client_id ,但为什么它没有反映在名称演员中?

问:我怎样才能确定谁在打电话?

actionContext.RequestContext.Principal.Identity

1 个答案:

答案 0 :(得分:0)

我们在OAuth中有两个定义,用户客户端

用户是人类参与者,基本上拥有用户名和密码。

客户是用户使用的应用,其client_Idclient_secret

当您使用客户端凭据时,不涉及用户,并且仅发送clientId和ClientSecret,因此ActorName属性都为空,因为这些属性绑定到用户。在这种情况下,您应使用密码代码隐式授予类型,这些用户参与其中。