编码员们好!
本文介绍了一个在Flask之上实现Github社会化登录的开源样本,Flask是一个用Python编写的流行网络框架。该项目源代码可以从Github(MIT许可)下载和使用,也可以配置为与其他知名的OAuth2提供商(如谷歌、Twitter或Facebook)一起使用。
谢谢你的阅读!- 内容由App Generator提供。
Flask社会化登录- 源代码 (Github)
该代码使用Flask-Dance ,将认证流与Github的OAuth接口连接起来。为了使应用程序更加吸引人,还提供了几个用Bootstrap 5设计的简单页面。
由Flask-Dance 库提供的认证流程只需要几行代码就可以通过Github实现社会认证(而且不仅仅是)。
我们需要做的第一件事是访问Github并创建一个新的OAuth应用程序,该应用程序将提供OAUTH_CLIENT_ID 和Flask-dance 库所要求的OAUTH_SECRET_KEY 。
在Github上创建OAuth APP
为了做到这一点,我们需要从左边的菜单中访问Github ->Settings (右上角) ->Developer Settings 。
从左边的菜单中访问OAuth Apps 项目,然后点击创建一个新的APP 。
一旦新的页面被加载,我们就可以创建一个样本APP。最重要的设置列在下面。
- 客户端ID- (只读)由Github生成 - 将保存在
.env文件中 - 客户秘密- 我们需要生成一个并在
.env文件中使用它 - 应用程序名称 - 对公共服务很重要
- 主页URL:
https://localhost:5000 - 授权回调URL:
https://localhost:5000/login/github/authorized
请注意,所有的URL都使用HTTPS 模式,这是我们的项目中需要注意的。一旦项目被保存,我们就可以回到我们的项目,保存Github提供的信息并启动它。
Flask社交登录 - 编译项目
如前所述,源代码发布在Github上,我们只需在终端输入几行就可以启动和测试这个简单的项目。请注意,该项目需要在工作站中已经安装了一个最小的编程工具包。
- Python3- 一种现代脚本语言,用于许多类型的项目
- GIT- 一个用于从Github下载源代码的命令行工具
- 一个现代代码编辑器--
VSCode或Atom
一旦所有的工具都安装完毕,并且可以在终端访问,我们就可以进一步进行,并按照README 文件提供的指令编译项目。
第1步- 克隆源(公共资源库)
$ # Clone the sources
$ git clone https://github.com/app-generator/flask-social-login.git
$ cd flask-social-login
第2步- 创建一个虚拟环境
$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
$
$ # Virtualenv modules installation (Windows based systems)
$ # virtualenv env
$ # .\env\Scripts\activate
第3步 - 安装依赖项
$ # Install requirements
$ pip3 install -r requirements.txt
第4步- 设置环境
$ # Set the FLASK_APP environment variable
$ (Unix/Mac) export FLASK_APP=run.py
$ (Windows) set FLASK_APP=run.py
$ (Powershell) $env:FLASK_APP = ".\run.py"
第5步-创建一个OAuth应用程序(在Github上)
- 登录到Github
- 访问
Settings->Developer Settings->OAuth Apps - 编辑你的OAuth应用程序
App NameApp Description- (强制)
HomePage:https://localhost:5000 - (强制性的)
Authorization callback URL:https://localhost:5000/login/github/authorized - 生成一个新的
secret key
第6步- 将
.env.sample重命名为.env,并编辑文件
GITHUB_OAUTH_CLIENT_ID- Github提供的值(步骤#5)。GITHUB_OAUTH_CLIENT_SECRET- Github提供的值(步骤#5)。
第7步 - (可选)启用DEBUG环境(本地开发)
$ # Set up the DEBUG environment
$ (Unix/Mac) export FLASK_ENV=development
$ (Windows) set FLASK_ENV=development
$ (Powershell) $env:FLASK_ENV = "development"
第8步- 启动项目(HTTPS)
$ flask run --cert=adhoc
$
$ # Access the app in browser: HTTPS://127.0.0.1:5000/
在这一点上,应用程序应该在浏览器中启动和运行,准备通过Github成功验证用户。
谢谢你的阅读!如需更多资源,请访问:



