在IdentityServer4的文档中,它说:
[...]同意用于允许最终用户授予客户端访问权限 资源(身份或API)。这通常只是必需的 第三方客户[...]
这是否意味着api可以访问用户未同意为用户登录的客户提出的声明?
如果我登录我的mvc-client同意许可Your email address
,我会得到我的期望:
但如果我登录并在同意屏幕上勾选Your email address
的许可:
我有这个例子(源自QuickStart Example 5):
email
- 范围列在Scope
中 - 该客户的OpenIdConnectOptions
AllowedScopes
包括IdentityServerConstants.StandardScopes.Email
api1
在IdentityServerConstants.StandardScopes.Email
UserClaims
答案 0 :(得分:0)
我自己回答这个问题,但还没有接受,因为我不是百分百肯定。
是的,这是预期的行为,我想我只是混淆了不同的令牌类型。
在我的案例中,api称为using user token
,实际上意味着access token
。
根据我的理解,引用文档部分中提到的身份资源不适用于访问令牌(用户身份由身份令牌建模),因此应该预期行为。