用于烧瓶和python 3的saml 2.0 idp和sp

flask-saml2的Python项目详细描述


https://travis-ci.com/timheap/flask-saml2.svg?branch=masterhttps://badge.fury.io/py/flask-saml2.svghttps://readthedocs.org/projects/flask-saml2/badge/?version=latest

这个flask插件提供了创建两个saml服务的功能 提供者和身份提供者。应用程序可以实现 这些提供者。

flask-saml2适用于flask 1.0+和python 3.6+。

这是一个经过大量修改的NoodleMarkets/dj-saml-idp叉子,依次是 是deforestg/dj-saml-idp的叉子,它又是deforestg/dj-saml-idp的叉子 novapost/django-saml2-idp

术语

有关saml工作原理的完整描述,请在 互联网。简单介绍一下 本软件包中使用的术语,请继续阅读。

saml协议是双方之间的对话: identity providers(idp)service providers(sp)。 当未经验证的客户端(通常是浏览器)访问服务提供商时, 服务提供商将发出身份验证请求(authnrequest), 使用其私钥对其进行签名,然后通过客户端将此请求转发到 身份提供程序。一旦客户端以中心身份登录 提供者,身份提供者做出响应、签名并转发此 通过客户端对请求服务提供商的响应。那么客户就是 通过中心身份提供程序在服务提供程序上进行身份验证, 服务提供者不必知道任何关于身份验证的信息 方法,或涉及的任何密码。

示例实现

服务提供者和 可以在该目录的examples/目录中找到标识提供程序 储存库。要运行示例,请首先克隆存储库并安装 依赖关系:

$ git clone https://github.com/timheap/flask-saml2
$cd flask-saml2
$ python3 -m venv venv
$source venv/bin/activate
$ pip install -e .
$ pip install -r tests/requirements.txt

接下来,在单独的终端窗口中运行idp和sp:

$cd flask-saml2
$source venv/bin/activate
$ ./examples/idp.py
$cd flask-saml2
$source venv/bin/activate
$ ./examples/sp.py

最后,导航到http://localhost:9000/以访问服务提供商 登录页。

测试

测试运行程序是pytest,我们使用tox运行测试 不同版本的烧瓶和Python。测试可以在本地运行,使用 tox直接(最好在虚拟环境中):

$ pip install tox
$ tox

许可证

分布在MIT License下面。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX触控事件未触发Ubuntu 20.04触控笔记本电脑   java如何在AWT中关闭窗口?   java Dagger 2:注入具有构造函数参数的成员   创建对象的Java调用类   对象我想在A.java中添加两个数字,并在B.java中打印结果(如何?)   java如何使用AWS SDK for Android从数字海洋空间下载图像?   java Facebook sdk 4.0.1无法使用Android studio获取某些字段   4分钟后web应用程序(Angular 8和Rest API)中的java自动会话超时   在Eclipse for Java EE developers edition中禁用HTML警告   java按字母顺序排列字符串我错过了什么明显的东西吗?   java在Jshell中println和printf有什么不同