Oauth 访问令牌没有openid作用域

Oauth 访问令牌没有openid作用域,oauth,wso2,wso2is,Oauth,Wso2,Wso2is,我正在做sso示例(travelocity.com)。当我尝试使用oauth访问令牌使用此命令访问用户信息时 curl-k-H“授权:持单人b68ba941c9da3d2644d8a63154d28” 我犯了以下错误 {“错误”:“范围不足”,“错误描述”:“访问令牌不可用” 没有openid作用域“} 请帮助,谢谢当您向授权端点发出第一个请求时,您必须在范围请求参数中包含openid。如下所示 范围 必需的。OpenID连接请求必须包含OpenID范围值。如果openid范围值不存在,则该行

我正在做sso示例(travelocity.com)。当我尝试使用oauth访问令牌使用此命令访问用户信息时

curl-k-H“授权:持单人b68ba941c9da3d2644d8a63154d28”

我犯了以下错误

{“错误”:“范围不足”,“错误描述”:“访问令牌不可用” 没有openid作用域“}


请帮助,谢谢

当您向授权端点发出第一个请求时,您必须在
范围
请求参数中包含
openid
。如下所示

范围

必需的。OpenID连接请求必须包含
OpenID
范围值。如果
openid
范围值不存在,则该行为完全未指定。可能存在其他范围值。应该忽略实现无法理解的使用范围值。本规范规定的其他范围值见第5.4节和第11节


默认情况下,travelocity.com sso示例web应用不会在其访问令牌请求中发送openid范围。这就是您遇到的错误的原因

为了在travelocity示例中发送openid范围以及访问令牌请求,您可以尝试以下操作:

  • 在示例web应用程序中打开travelocity.properties[1]文件(可以在travelocity.com/web-INF/classe中找到)
  • 取消注释并编辑文件[1]中的QueryParams属性,如下所示

    QueryParams=scope=openid

  • 保存属性文件并重新部署web应用,然后立即尝试在userinfo端点上生成的访问令牌:)

  • [1]


    更新

    看起来QueryParams中的作用域设置不起作用, 有一个解决办法

    您能否在travelocity.properties中更改OAuth2.TokenURL,如下所示并进行尝试?我在本地进行了测试,应该可以正常工作

    #OAuth2令牌端点URL


    对于thanx,我更改了travelocity.property,正如您所说的,但我仍然收到相同的错误。你能告诉我有没有其他方法可以从Bear access托克访问用户信息。你是在web应用程序中更改了它还是在源代码中更改了它,然后构建了web应用程序?我更改了源代码,然后部署了它。仍然收到相同的错误,我认为OAuth2.TokenURL没有在代码中的任何地方使用。它由sso代理在内部使用,负责发送令牌请求。顺便说一句,你在试用哪个版本的?嗨,我也面临着同样的问题。我可以知道你是怎么修好的吗?这很有效,谢谢!(
    https://.../oauth2/authorize?scope=openid
    OAuth2.TokenURL=https://localhost:9443/oauth2/token?scope=openid