如何使用 OneAuth 向 Flask 应用添加用户身份验证实现SSO

本文介绍了如何使用OneAuth的OAuth2服务在Flask应用中添加用户身份验证,实现单点登录(SSO)。通过创建Flask应用、注册OneAuth开发者账户、配置应用和保护URI,详细展示了SSO的集成过程。
摘要由CSDN通过智能技术生成

如何使用 OneAuth 向 Flask 应用添加用户身份验证

用户身份验证是 Web 应用程序中的一项基本功能,因此人们可以创建和访问自己的帐户,但不幸的是,身份验证并不总是很容易设置,可能经常错误地实现登录和注销功能。本教程将介绍如何使用 OneAuth 的统一身份验证服务,对多达 1,000 个活动用户帐户免费使用,它能让我们在 Flask 应用中轻松处理用户数据。

准备工作

本教程使用了 Python3.x 版本构建程序,所以请留意各项依赖包的版本。

  • Flask
  • Flask-OIDC
  • OneAuth SDK
  • 一个免费的 OneAuth 账户

本教程代码将放置在 Github 仓库,基于MIT协议,可以免费/商业使用。

安装依赖

首先我们使用 venv 创建一个干净的开发环境,并激活该环境

python3 -m venv flaskOneAuth
source ./flaskOneAuth/bin/activate

接下来利用 pip 安装所需的依赖

pip install flask>=2.0.2 flask-oidc>=1.4.0

安装成功后,我们安装了所需的 Flask 和 OneAuth 依赖项,让我们开始构建 Flask 应用

创建一个 Flask 应用

我们创建一个名字为 flaskapp 的项目目录,然后创建一个名为 app.py 的文件,包含下面的代码

# imports for Flask
from flask import Flask, Response

app = Flask(__name__)

@app.route("/protectme")
def protect_me():
    return Response("I should be protected!")

@app.route("/")
def landing_page():
    return Response("I am open for any visitors")

接下来我们可以使用以下命令运行这个 Flask 应用程序

set FLASK_APP=app.py
flask run

在 Web 浏览器中访问 http://localhost:5000,您应该看到
在这里插入图片描述

现在转到 http://localhost:5000/protectme 看看。这个页面应该需要身份验证才能访问,但现在它似乎没有任何保护
在这里插入图片描述

但可以确定的是,我们的基础应用已启动并运行,下面让我们为它增加身份验证功能

创建 OneAuth 开发者账户

访问打开注册页面

在这里插入图片描述

输入表单信息后提交,会提示输入验证码,以确保你没有输错Email地址。此时需要查收你的Email,找到类似的邮件

在这里插入图片描述

然后继续输入你接受到的验证码后,会提示创建成功,再回到你的邮箱,查看用户激活邮件

在这里插入图片描述

点击激活,会提示设置管理员密码。设置好之后,用你的Email登录。会看到管理员面板

在这里插入图片描述

可以看到浏览器地址栏标记黄色的部分,就是你的租户地址了,不仅仅可以通过这个地址访问到管理面板,而且后续我们会用到这个地址配置协议参数。

连接应用到 OneAuth

我们接下来要在 OneAuth 上创建一个应用。我们选择左侧菜单的【应用】然后在面板右侧点击【创建应用】

我们会看到创建应用的弹出框:

在这里插入图片描述

我们在这里认证方式选择 OIDC,应用类型选择 Web 应用,点击下一步:

在这里插入图片描述

我们创建一个应用名为 flaskapp 的应用,将 http://localhost:5000/oidc/callback 作为登录重定向的地址。

接下来,我们会看到创建好的应用信息(请留意黄色标记部分):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值