python saml2 认证实例程序demo

# pip install pysaml2
from saml2.client import Saml2Client
from saml2.config import Config as Saml2Configmetadata_filepath=''
acs_endpoint_url=''
entity_id=''# 获取跳转网址
saml_settings= {'metadata': {'local': [authenticator_self.metadata_filepath]}, 'service': {'sp': {'endpoints': {'assertion_consumer_service': [(authenticator_self.acs_endpoint_url, 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect'), (authenticator_self.acs_endpoint_url, 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')]}, 'allow_unsolicited': True, 'authn_requests_signed': False, 'logout_requests_signed': True, 'want_assertions_signed': True, 'want_response_signed': False}}, 'entityid': authenticator_self.entity_id}
spConfig = Saml2Config()
spConfig.load(saml_settings)
spConfig.allow_unknown_attributes = True
saml_client = Saml2Client(config=spConfig)
_, info = saml_client.prepare_for_authenticate()
urltrue=info['headers'][0][1]# 解密 saml2 返回报文
realcode = b64decode(data['SAMLResponse'])
self.log.debug(str(realcode))
begin=str(realcode).find('<Attribute Name="xxxxxxxxx"><AttributeValue>')
end=str(realcode).rfind('</Attribute>')
username=str(realcode)[begin+1:end]
username=username.replace('Attribute Name="xxxxxxxxxxxxxx"><AttributeValue>','')
username=username.replace('</AttributeValue>','')

任何程序错误,以及技术疑问或需要解答的,请添加

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

找回Kitkat的AppOps

2019独角兽企业重金招聘Python工程师标准>>> How to invoke AppOps in Android 4.4 KITKAT % adb shell am start -n com.android.settings/com.android.settings.Settings \ -e :android:show_fragment com.android.settings.applications.AppOpsSummary \ --activ…

检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失败

具体解决方法如下: 1:在服务器上安装office的Excel软件&#xff1b; 2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"&#xff1b; 3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM…

win2003 sp2+iis 6.0上部署.net 2.0和.net 4.0网站的方法

网站环境 IIS6.0,操作系统Windows server2003 sp2,服务器之前已经部署了.net 2.0和asp的网站,现在要部署新开发的.net 4.0网站.本来认为很简单&#xff0c;却遇到了很多问题&#xff0c;下面详细描述下过程&#xff1a; 1.官网下载.net framework4.0,下载地址:http://www.micro…

python+opencv实现机器视觉基础技术(2)(宽度测量,缺陷检测,医学检测

本篇博客接着讲解机器视觉的有关技术和知识。包括宽度测量&#xff0c;缺陷检测&#xff0c;医学处理。 一&#xff1a;宽度测量 在传统的自动化生产中&#xff0c;对于尺寸的测量&#xff0c;典型的方法就是千分尺、游标卡尺、塞尺等。而这些测量手段测量精度低、速度慢&…

web api添加拦截器

实现思路 1.标识控制器有拦截特性&#xff1b; 2.控制器拦截处理&#xff1b; 代码实现 1.标识控制器有拦截特性&#xff0c;代码&#xff1a; [MyFilter]public string PostFindUser([FromBody]Userinfo user){return string.Format("{0}是好人~", user.Name);}…

map 与 unordered_map

两者效率对比&#xff1a; #include <iostream> #include <string> #include <map> #include <unordered_map> #include <sys/time.h> #include <list>using namespace std;template<class T> void fun(const T& t, int sum) {f…

YOLO v3 安装并训练自己数据

文章目录 1. 安装1.1 模型安装1.2 运行Demo2.训练自己的数据集2.1数据集准备2.2修改配置文件2.2.1修改cfg/voc.data2.2.2修改data/voc.names2.2.3修改cfg/yolo-voc.cfg2.3 训练3. 测试3.1 单张图像测试3.2多张图像测试3.3 测试数据集测试mAP、recall等参数命令参数总结训练模型…

Chrome浏览器必装的扩展工具

名称作用下载地址Postman模拟各种http请求点击下载JSON Viewer访问json结果自动视图化点击下载Axure RP Extension for Chrome查看Axure原型图点击下载 注意&#xff1a;下载地址都需要FQ。

OpenStack-Mitaka 一键安装测试环境脚本

说明&#xff1a;这个脚本是采用Bash Shell编写&#xff0c;这个版本还只能作为测试环境搭建使用。 此脚本原形的发起人是网友&#xff1a;WuYuLiang.这里有他的博客链接: 第一版的链接: http://blog.csdn.net/wylfengyujiancheng/article/details/51137707 最新版链接: http:…

grunt使用小记之uglify:最全的uglify使用DEMO

grunt-contrib-uglify uglify是一个文件压缩插件&#xff0c;项目地址&#xff1a;https://github.com/gruntjs/grunt-contrib-uglify 本文将以一个DEMO来展示如何使用uglify插件。 DEMO环境 package.json: {"name": "grunt-demo","version": &q…

后台设计中容易被忽略的坑

1.数据关联性删除判断 示例&#xff1a;比如后台发布了一个待抢购的订单&#xff0c;app已经把此单抢购&#xff0c;因为后台没有及时刷新状态&#xff0c;所有如果要删除或下架此笔订单&#xff0c;必须先要验证此订单的状态是否为已经抢购&#xff1b; 2.数据重复录入问题 示…

人生该如何抉择

记得2012年初的时候受公司同事的讲解&#xff0c;我从一个对代码一无所知&#xff0c;了解到了计算机的数据类型、数组在内存中的存储&#xff0c;进而想走进程序员的行业&#xff0c;博客上认识的一个前辈告诉我了一个方向&#xff0c;前辈告诉我&#xff1a;“我建议你学java…

Android优秀参考APP源码

1 仿网易云音乐客户端 仿网易云音乐安卓版客户端&#xff0c;一个月内仍然有更新&#xff0c;接近2000star&#xff0c;相信是一款非常棒的音乐客户端。 涉及技术&#xff1a; Timber Fresco MediaPlayerProxy Android-ObservableScrollView retrofit ImitateNetEasyCloud…

聊聊excel生成图片的几种方式

目录 I&#xff1a;需求。 II&#xff1a;实现思路。 III&#xff1a;实现方式。 IV:优缺点分析。 V&#xff1a;结论。 VI&#xff1a;wps安装与配置。 正文 1.需求&#xff1a;把excel生成等比的图片。 2.实现思路&#xff1a;因为excel不能直接生成图片&#xff0c;所以需…

分类算法之贝叶斯(Bayes)分类器

摘要&#xff1a;旁听了清华大学王建勇老师的 数据挖掘&#xff1a;理论与算法 的课,讲的还是挺细的,好记性不如烂笔头,在此记录自己的学习内容,方便以后复习。 一&#xff1a;贝叶斯分类器简介 1&#xff09;贝叶斯分类器是一种基于统计的分类器,它根据给定样本属于某一个具体…

Ios生产证书申请(含推送证书)

一、Mac机上生成请求文件。 Mac机上点击证书助手 > 从证书颁发机构请求证书 > 得到CertificateSigningRequest.certSigningRequest请求文件&#xff08;此请求证书建议一直保存&#xff0c;因为根证书的生成需要使用此请求文件&#xff0c;根证书多个app可以使用一个&am…

优秀小程序demo 源码

1.Thor UI组件库https://github.com/dingyong0214/ThorUI 2.Booker图书共享借阅小程序开源https://github.com/shiheme/wx-bookerhttps://gitee.com/week7day/wx-booker 优惠券羊毛平台前端&#xff1a;https://github.com/leixiaokou/waimai-uniapp 优惠券羊毛平台后端&#…

算法:阶乘的五种算法

背景 周末温习了一下递归相关的一些概念&#xff0c;本文先给出阶乘的五种算法。 第一种实现&#xff1a;递归 1 private static long RecursiveFac(long n)2 {3 if (n 0)4 {5 return 1;6 }7 …

TortoiseGIT创建及合并分支

一、创建分支 项目右键 > TortoiseGit(T) > 创建分支&#xff0c;然后右键切换到刚刚创建的分支&#xff0c;新增/修改一个文件&#xff0c;提交分支到远端服务器&#xff0c;推送成功之后分支就创建好了。 二、合并分支 分支开发的代码先推送到远端&#xff0c;切换本…

如何画出企业系统架构图

该技术架构图是本人根据多年企业技术架构经验而制定&#xff0c;是企业技术的总架构图&#xff0c;希望对CTO们有所借鉴。 简单说明&#xff1a; 1.中间件基础运行环境是经过统一规划的以WebLogic、JBOSS为主的集群环境 2.企业集成平台是以基础业…