0

总体上喜欢 authlib。关于https://docs.authlib.org/en/latest/client/frameworks.htmlhttps://docs.authlib.org/en/latest/client/django.html中描述的 client_kwargs的问题

问题陈述:我试图在 client_kwargs 字典中传递“范围”和“受众”键/值对,但只有“范围”键/值用于生成 URI 以进行授权。我需要通过 Atlassian OAuth2.0 的“观众” https://developer.atlassian.com/cloud/jira/platform/oauth-2-authorization-code-grants-3lo-for-apps/

通过将“audience”="api.atlassian.com" 传递给 oauth.atlassian.authorize_redirect 进行一些修改后找到了解决方法。

问题:oauth.register/AUTHLIB_OAUTH_CLIENTS 中的client_kwargs是否仅用于某些关键字参数?如果是这样,最好在文档中分享它;否则将其与其他所有内容一起设置在配置中会很方便。

此行为在 0.12.1 和 0.13.dev0 中发现。谢谢!

4

1 回答 1

1

因为 OAuth 1.0 和 OAuth 2.0 是不同的,所以client_kwargs它旨在将额外的参数传递给OAuth1Client/OAuth1SessionOAuth2Client/ OAuth2Session

对于您的情况,有一个authorize_params. 你可以把audience你的authorize_params

oauth.register(
    ....
    authorize_params={'audience': '...'},
    ....
)
于 2019-10-20T08:13:19.337 回答