python - 我可以在我的 `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
吗?
- 如果不是那么简单的工作,哪个更好:
- 移动到烧瓶
- 不要使用
python-social-auth
(并转移到其他 Bottle 插件,如bottle-rauth
,bottle-oauthlib
等)
解决方案
我使用 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>
推荐阅读
- flutter - 有没有办法在 Flutter 上添加两种不同颜色的 Iphone x SafeArea
- ruby-on-rails - 在输入字段上生成随机数
- java - __groovy 中的 Java 函数执行,但结果未分配给变量
- android - 在电子邮件中打开链接以在应用程序中而不是在网站中进行确认
- android - 关于 Chrome Android 扩展支持的官方来源
- php - ElasticSearch 正则表达式 pattern_replace
- angular - 多次调用 ngOnint() 服务方法内部
- interface - SystemVerilog 接口的放置位置,以及如何命名接口和文件
- java - How to compile tflite with GPU support?
- sql - Why are a Tableau Data Source and Sheet showing different data?