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

问题描述 投票:0回答:1

我正在使用Identity Server 3并使用OAuth 2.0从here. Client Credentials中获取示例。

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

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

actionContext.RequestContext.Principal.Identity

c# oauth-2.0 asp.net-web-api2 identityserver3
1个回答
0
投票

我们在OAuth,User和Client中有两个定义

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

客户端是用户使用的具有client_Idclient_secret的应用程序。

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

© www.soinside.com 2019 - 2024. All rights reserved.