OAuth ClientsΒΆ
This part of the documentation contains information on the client parts. Authlib provides many frameworks integrations, including:
The famous Python Requests
A next generation HTTP client for Python: httpx
Flask web framework integration
Django web framework integration
Starlette web framework integration
FastAPI web framework integration
In order to use Authlib client, you have to install each library yourself. For
example, you want to use requests
OAuth clients:
$ pip install Authlib requests
For instance, you want to use httpx
OAuth clients:
$ pip install -U Authlib httpx
Here is a simple overview of Flask OAuth client:
from flask import Flask, jsonify
from authlib.integrations.flask_client import OAuth
app = Flask(__name__)
oauth = OAuth(app)
github = oauth.register('github', {...})
@app.route('/login')
def login():
redirect_uri = url_for('authorize', _external=True)
return github.authorize_redirect(redirect_uri)
@app.route('/authorize')
def authorize():
token = github.authorize_access_token()
# you can save the token into database
profile = github.get('/user', token=token)
return jsonify(profile)
Follow the documentation below to find out more in detail.
- OAuth 1 Session
- OAuth 2 Session
- OAuth2Session for Authorization Code
- OAuth2Session for Implicit
- OAuth2Session for Password
- OAuth2Session for Client Credentials
- Client Authentication
- Access Protected Resources
- Refresh & Auto Update Token
- Revoke and Introspect Token
- Compliance Fix for non Standard
- OAuth 2 OpenID Connect
- AssertionSession
- OAuth for Requests
- OAuth for HTTPX
- Web OAuth Clients
- Flask OAuth Client
- Django OAuth Client
- Starlette OAuth Client
- FastAPI OAuth Client
- Client API References