0

我已经启动了 example-oauth-server 并尝试练习隐式流程 - 我已按照文档中的说明进行操作并完成了以下操作

第 1 步 - 注册客户端;确保不需要客户端密码。第 2 步 - 打开一个 REPL 并执行以下操作

>>> from authlib.client import OAuth2Session
>>> client_id = 'MY CLIENT ID'
>>> scope = 'profile'  # we want to fetch user's email
>>> session = OAuth2Session(client_id, scope=scope)

>>> authorize_url = 'http://localhost:5000/oauth/authorize'
>>> uri, state = session.authorization_url(authorize_url,response_type='token')

下一步是获取授权响应。我似乎无法得到那个。print(uri) 没有在 URL 响应中给我访问令牌,因为它不是授权响应。

我知道我需要调用 session.fetch_access_token(authorization_response);

我的困惑是当我没有得到授权响应时,我将什么传递给 fetch_access_token。

我知道我错过了一些小事......任何建议。

4

1 回答 1

0

打印uri您从中获取的内容authorization_url,然后在浏览器中访问此 uri。在浏览器中,授予您的授权,它将重定向回您配置的redirect_uri.

重定向完成后,您将获得一个授权响应。

请记住使用“none”token_endpoint_auth_method 创建客户端。

于 2018-04-25T13:29:33.227 回答