首页 > 解决方案 > 我可以在我的 `bottle 应用程序中使用 python-social-auth 吗?

问题描述

我将在我的 Web 应用程序中添加一个 SSO 按钮。

我想用python-social-auth它。但支持的 Web 框架是 Django、Flask、Pyramid、Tornado、CherryPy 和 webpy。它似乎不支持 Bottle 框架。

如何使用python-social-auth我的 Bottle 应用程序?

我应该创建自己的social-auth-app-bottle吗?

标签: pythonsingle-sign-onbottle

解决方案


我使用 Google 的 firebase 做所有事情。它具有简单的 javascript 元素,可以将对象有效负载提供给您的后端。我bottle用于一切。老实说,我发现 firebase 是管理登录的最简单、最可靠的方法。

import firebase_admin
from firebase_admin import credentials, auth as firebase_auth
cred = credentials.Certificate("<yours>-adminsdk-AAAAA-1234567.json")
firebase_admin.initialize_app(cred)

def checkToken(token):
    try:
        return firebase_auth.verify_id_token(token)
    except:
        return False

def login(payload):
    user = checkToken(payload['token']) or redirect('/logout')
    # <your code here>

推荐阅读