Login with Google, GitHub, Twitter, Facebook and many other networks.
Social connections powered by Authlib. This library is a part of Authlib project. It works well with Authlib v0.14.3+.
from flask import Flask from authlib.integrations.flask_client import OAuth from loginpass import create_flask_blueprint from loginpass import Twitter, GitHub, Google
app = Flask(name) oauth = OAuth(app)
def handle_authorize(remote, token, user_info): if token: save_token(remote.name, token) if user_info: save_user(user_info) return user_page raise some_error
backends = [Twitter, GitHub, Google] bp = create_flask_blueprint(backends, oauth, handle_authorize) app.register_blueprint(bp, url_prefix='')
Authlib Loginpass contains lots of connections (see below), every connection has a
profile()method which returns the same format of user info. It supports OAuth 1, OAuth 2 and OpenID Connect for now.
The user info that
profile()returns is standardized with OpenID Connect UserInfo claims, not something made by me.
Connections that Authlib Loginpass contains:
Most of the time, you don't have to use loginpass, you can just register a remote app with Authlib's framework integrations. Checkout our demo on OAuth clients for Flask, Django, Starlette and FastAPI:
Loginpass is a group member of Authlib, it is licensed under BSD. Authlib commercial license applies to this project too, you can get a commercial license at Authlib Commercial Plans.