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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OAuth 2.0客户端凭据获取用户ID相关的知识,希望对你有一定的参考价值。

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

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

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

actionContext.RequestContext.Principal.Identity

答案

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

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

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

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

以上是关于OAuth 2.0客户端凭据获取用户ID的主要内容,如果未能解决你的问题,请参考以下文章

OAuth 2.0 多范围(客户端凭据案例)

如何保护 Oauth 2.0 客户端 ID 和客户端密码

Oauth 2.0:客户端 ID 和客户端密码暴露,这是一个安全问题吗?

OAuth 客户端凭据重新颁发访问令牌与刷新令牌

无法通过 Postman 在 Django oauth 工具包客户端凭据授予中获取访问令牌

如何使用 OAuth 2.0 客户端凭据流和带有 .net 核心的 JWT 证书连接到 Oracle Netsuite