Step 1: Authorize
OAuthLib提供了一个WebApplicationClient类来实现上面描述的Web应用程序流。注册OAuth2提供者并获得客户端ID后,在web应用程序中创建WebApplicationClient的新实例。
from oauthlib.oauth2 import WebApplicationClient
client_id = ‘xxxxx’
client = WebApplicationClient(client_id)
为了方便Web应用程序流中的授权步骤,WebApplicationClient类提供了一个prepare_request_uri()方法,该方法接受授权服务器URL及其相应的凭据来形成一个完整的URL。
authorization_url = ‘https://api.authorization-server.com/authorize’
url = client.prepare_request_uri(
authorization_url,
redirect_uri = ‘https://your-web-app.com/redirect’,
scope = [‘read:user’],
state = ‘D8VAo311AAl_49LAtM51HA’
)
print url
https://api.authorization-server.com/authorize
?response_type=code
&client_id=xxxxx
&redirect_uri=https://your-web-app.com/redirect
&scope=read:user
&state=D8VAo311AAl_49LAtM51HA