gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:10:42 24 4
gpt4 key购买 nike

安照OpenID Connect Core 1.0 specification , 如果认证请求包含参数 prompt带值 none ,服务器必须按以下方式处理它:

The Authorization Server MUST NOT display any authentication or consent user interface pages. An error is returned if an End-User is not already authenticated or the Client does not have pre-configured consent for the requested Claims or does not fulfill other conditions for processing the request. The error code will typically be login_required, interaction_required, or another code defined in Section 3.1.2.6. This can be used as a method to check for existing authentication and/or consent.



我的问题是,每当我尝试验证之前收到的访问 token (传递 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

有人能告诉我 - 这是身份验证请求本身的问题,我做错了什么,或者在这种情况下 WSO2 IS 服务器行为不符合规范?

我使用 WSO2 身份服务器 5.0.0

提前感谢您的回答!

最佳答案

根据规范
客户端可以使用提示参数来确保最终用户仍然存在于当前 session 中或引起对请求的注意。如果这个参数不包含任何其他值 ,返回错误。

但是在这个请求中只发送 none 作为提示值,所以提示值设置为 none,任何其他值都会出错。

例子:
curl -v -k -X GET "https://localhost:9444/oauth2/authorize?prompt=none+login&scope=openid..."

关于oauth-2.0 - 无法在 WSO2 身份服务器上使用 prompt=none 参数通过 OAuth2/OpenID Connect 验证访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25330212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com