python-Flask OIDC:oauth2client.client.FlowExchangeError
发布时间:2022-09-09 10:50:05 460
相关标签: # node.js
图书馆 flask-oidc 包括scope
参数输入到授权码/访问令牌交换请求中,这不足为奇地引发以下错误:
oauth2client.client.FlowExchangeError: invalid_request Scope parameter is not supported on an authorization code access_token exchange request. Scope parameter should be supplied to the authorized request.
问题是:
这是配置问题还是库问题?
我的配置:
- Flask Application:
app.config.update({
'DEBUG': True,
'TESTING': True,
'SECRET_KEY': 'secret',
'SERVER_NAME' : 'flask.example.com:8000',
'OIDC_COOKIE_SECURE': False,
'OIDC_REQUIRE_VERIFIED_EMAIL': False,
'OIDC_CALLBACK_ROUTE': '/oidc/callback',
'OIDC_CLIENT_SECRETS': 'client_secrets.json'
})
oidc = OpenIDConnect(app)
- client_secrets.json
{
"web": {
"auth_uri": "http://openam.example.com:8080/openam/oauth2/realms/root/authorize",
"issuer": "http://openam.example.com:8080/openam/oauth2/realms/root/",
"userinfo_uri": "http://openam.example.com:8080/openam/oauth2/realms/root/userinfo",
"client_id": "MyClientID",
"client_secret": "password",
"redirect_uris": [
"http://flask.example.com:8000/oidc/callback"
],
"token_uri": "http://openam.example.com:8080/openam/oauth2/realms/root/token",
"token_introspection_uri": "http://openam.example.com:8080/openam/oauth2/realms/root/introspect"
}
}
- 访问管理器
对于我使用的访问管理器OpenAM.我配置了一个OpenAM客户端代理,如下所示:
- 客户端ID=
MyClientID
- 客户机密=
password
- 响应类型=
code
- 令牌端点身份验证方法=
client_secret_post
- 重定向URI=
http://flask.example.com:8000/oidc/callback
上下文:我用烧瓶用于应用程序端的逻辑和OpenAM对于身份和访问管理,bot应用程序在docker容器中运行。当使用简单的curl命令时,我可以检索授权授权和身份验证令牌(授权类型:授权码授权)。但是,在登录到OpenAM并向应用程序授予授权(端点“oauth2/authorize”)后,flask oidc使用上述库发送以下GET请求:
GET /oidc/callback?code= \
&scope=openid%20email \
&iss=http%3A%2F%2Fopenam.example.com%3A8080%2Fopenam%2Foauth2 \
&state= \
&client_id=MyClientID
这导致了上述错误。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报