我正在使用Identity Server 3并使用OAuth 2.0关注here.客户端凭据中的示例。
我覆盖了AuthorizeAttribute但是当我查看ClaimsIdentity时,名称和 Actor 为空。这是设计的吗?我有责任填充他们?如果是这样的话?我看到声明有 client_id ,但为什么它没有反映在名称或演员中?
问:我怎样才能确定谁在打电话?
答案 0 :(得分:0)
我们在OAuth中有两个定义,用户和客户端
用户是人类参与者,基本上拥有用户名和密码。
客户是用户使用的应用,其client_Id
和client_secret
。
当您使用客户端凭据时,不涉及用户,并且仅发送clientId和ClientSecret,因此Actor
和Name
属性都为空,因为这些属性绑定到用户。在这种情况下,您应使用密码,代码或隐式授予类型,这些用户参与其中。