我设置了IdentityServer3实例,并且我使用授权端点(/ core / connect / authorize)请求令牌。
我的请求令牌的应用程序是iOS应用程序。
我传递了以下参数;
client_id=<clientid>
response_type=id_token
scope=openid
redirect_uri=<redirecturi>
state=<state>
nonce=<nonce>
这会为我打开一个网络视图,我输入我的凭据并返回redirect_uri
,其中#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应该将其验证为有效吗?
答案 0 :(得分:3)
您不在示例中请求访问令牌。 与
response_type=id_token
您只能获得可以针对身份令牌端点进行验证的身份令牌。 要根据您的请求获取访问令牌,您必须将请求更改为
response_type=id_token token