Identity Server 3 Access Token Validation 端点因受众验证失败而失败
Posted
技术标签:
【中文标题】Identity Server 3 Access Token Validation 端点因受众验证失败而失败【英文标题】:Identity Server 3 Access Token Validation endpoint fails with Audience Validation Failed 【发布时间】:2015-11-24 19:13:39 【问题描述】:我设置了一个 IdentityServer3 实例,我正在使用授权端点 (/core/connect/authorize) 请求令牌。
我请求令牌的应用程序是一个 ios 应用程序。
我传递了以下参数;
client_id=<clientid>
response_type=id_token
scope=openid
redirect_uri=<redirecturi>
state=<state>
nonce=<nonce>
然后这会为我打开一个网络视图,我输入我的凭据,它会返回 redirect_uri
,并在 URL 上附加了 #id_token
。
为了验证令牌,我将它传递给我的 IdentityServer 的访问令牌验证端点 (/core/connect/accesstokenvalidation)。我追加?token=<access token received from login>
。
然后我得到响应
"Message": "invalid_token"
当我查看日志时
System.IdentityModel.Tokens.SecurityTokenInvalidAudienceException: IDX10214: Audience validation failed. Audience: '<clientid>'. Did not match: validationParamters.ValidAudience: '<identity_server_host>/resources' or validationParameters.ValidAudiences: 'null'
我在这里做错了什么?确定创建令牌的 IdentityServer 应该验证它是有效的吗?
【问题讨论】:
你找到解决方案了吗? 是的,请看下面的答案 【参考方案1】:在您的示例中,您没有请求访问令牌。 与
response_type=id_token
您只会获得可以针对身份令牌端点进行验证的身份令牌。 要在您的请求中获取访问令牌,您必须将您的请求更改为
response_type=id_token token
【讨论】:
以上是关于Identity Server 3 Access Token Validation 端点因受众验证失败而失败的主要内容,如果未能解决你的问题,请参考以下文章
Identity Server 4 没有为 `.well-known/openid-configuration` 设置`Access-Control-Allow-Origin`
Identity Server 3 没有保留身份验证 cookie
为 Access 中的链接表选择 @@Identity 返回 0
在 Access 中选择 @@IDENTITY 总是返回 0