我试图从 Postman 向Keycloak请求授权测试,仍然得到这个错误:
{ "error": "invalid_request", "error_description": "You must provide the issuedFor" }
字符串PostMan请求参数:
Postman bearer token header:
fcg9iug31#
我知道你已经选择了一个答案,但对于那些登陆这里从网络搜索的Keycloak的issuedFor问题。显示的错误消息的根本原因是参数名称“audience”(不是“audiance)"中的拼写错误。现在,这会使Keycloak无法在https://github.com/keycloak/keycloak/blob/3631618b245fa768bff7009b9e87d01dd4387fe3/services/src/main/java/org/keycloak/authorization/authorization/AuthorizationTokenService.java#L330上获取客户端ID。只需修复拼写,您就可以了。需要说明的是,请求中需要“audience”参数来评估授权服务的Keycloak文档中所述的权限:https://www.keycloak.org/docs/latest/authorization_services/index.html#_service_obtaining_permissions。
issuedFor
jhkqcmku2#
OOK我发现了问题并解决了它. Keycloak不给给予访问某些类型的请求时,走出网络.你必须把它在https.当在您的本地机器上,它确实工作,但只要你走出localhost到网络到达keycloak,你必须传递到https.所以我所做的是,在我的请求URL中,我将keycloak的链接从http改为https,因此将端口从8080改为8443(https服务的端口)。希望它能帮助别人。特别感谢@RossPresser:)
2条答案
按热度按时间fcg9iug31#
我知道你已经选择了一个答案,但对于那些登陆这里从网络搜索的Keycloak的
issuedFor
问题。显示的错误消息的根本原因是参数名称“audience”(不是“audiance)"中的拼写错误。现在,这会使Keycloak无法在https://github.com/keycloak/keycloak/blob/3631618b245fa768bff7009b9e87d01dd4387fe3/services/src/main/java/org/keycloak/authorization/authorization/AuthorizationTokenService.java#L330上获取客户端ID。只需修复拼写,您就可以了。
需要说明的是,请求中需要“audience”参数来评估授权服务的Keycloak文档中所述的权限:https://www.keycloak.org/docs/latest/authorization_services/index.html#_service_obtaining_permissions。
jhkqcmku2#
OOK我发现了问题并解决了它. Keycloak不给给予访问某些类型的请求时,走出网络.你必须把它在https.当在您的本地机器上,它确实工作,但只要你走出localhost到网络到达keycloak,你必须传递到https.
所以我所做的是,在我的请求URL中,我将keycloak的链接从http改为https,因此将端口从8080改为8443(https服务的端口)。希望它能帮助别人。特别感谢@RossPresser:)