小编les*_*ter的帖子

无法在 WSO2 身份服务器上使用 prompt=none 参数通过 OAuth2/OpenID Connect 验证访问令牌

根据OpenID Connect Core 1.0 规范,如果身份验证请求包含prompt带 value 的参数none,服务器必须按以下方式处理它:

授权服务器不得显示任何身份验证或同意用户界面页面。如果最终用户尚未通过身份验证,或者客户没有对请求的声明预先配置同意或不满足处理请求的其他条件,则会返回错误。错误代码通常是 login_required、interaction_required 或第 3.1.2.6 节中定义的其他代码。这可以用作检查现有身份验证和/或同意的方法。

我的问题是,每当我尝试验证之前收到的访问令牌(传递prompt=none对以及其他必需参数)时,WSO2 IS 服务器总是回复代码 302 并重定向到登录页面。以下是以下cURL命令的相应输出:

curl -v -k -X GET "https://localhost:9443/oauth2/authorize?prompt=none&scope=openid&client_id=BpMCycs5nBuZCpVLwSE5f6Hf5CYa&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fmy-app%2Fmy-ctx" --header "Authorization: Bearer a65544593fg9c67rbf95fc24a6953cb4"

> GET /oauth2/authorize?prompt=none&scope=openid&client_id=BpMCycs5nBuZCpVLwSE5f
6Hf5CYa&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fmy-app%2Fmy-ctx HTTP/1.1
> User-Agent: curl/7.30.0
> Host: localhost:9443
> Accept: */*
> Authorization: Bearer a65544593fg9c67rbf95fc24a6953cb4
>
< HTTP/1.1 302 Found
< Date: Thu, 14 Aug 2014 17:01:17 GMT
< Location: https://localhost:9443/commonauth/?sessionDataKey=bf5be153-4j31-429b
-9fa6-97rr27da213&type=oidc&commonAuthCallerPath=/oauth2/authorize&forceAuthent
icate=false&checkAuthentication=false&relyingParty=BpKCycd5dBfZdpVswSE5f6Hf5CYa&
tenantId=-1234&prompt%3Dnone%26scope%3Dopenid%26client_id%3DBpKCycr5dBuZCpVBwSE5
f6Hf5CYa%26response_type%3Dcode%26redirect_uri%3Dhttp%253A%252F%252Flocalhost%25
3A8080%252Fmy-app%252Fmy-ctx
Run Code Online (Sandbox Code Playgroud)

有人能告诉我 - 这是身份验证请求本身的问题,我做错了什么,或者在这种情况下 …

wso2 oauth-2.0 wso2is openid-connect

5
推荐指数
1
解决办法
1662
查看次数

标签 统计

oauth-2.0 ×1

openid-connect ×1

wso2 ×1

wso2is ×1