Authlib - 隐式流

时间:2018-04-24 23:15:25

标签: flask-oauthlib authlib

我已经启动了示例-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);

我的困惑是当我没有获得authorization_response时我将传递给fetch_access_token。

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

1 个答案:

答案 0 :(得分:0)

打印uri的{​​{1}},然后在浏览器中访问此uri。在浏览器中,授予您的授权,它将重定向回您配置的authorization_url

重定向完成后,您将获得authorization_response。

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