okta/sf平台实现saml2.0单点登录集成实战(详细步骤+完整代码)

news2024/11/26 4:27:29

目录

第一步:注册okta账号

第二步:配置okta应用信息

第三步:下载Idp.xml文件

第四步:okta特定配置

第五步:集成测试

基于SuccessFactors的单点登录实现

Github工程代码链接

小结


笔者以前写过一篇关于saml2.0单点登录的文章,但是大多偏于理论和概念性的描述,有很多同学对具体如何实现okta的单点登录问题仍然不是很明了,遂有了这篇完全步骤详细的完全实战文章,希望对大家有所帮助。

具体步骤如下:

第一步:注册okta账号

注册一个okta账号——注册链接。详细内容就不赘述了,跟着文档一步步走就行。

第二步:配置okta应用信息

创建账号成功后,进入okta平台。

创建集成应用——点击Create App Integration

选择saml2.0

App命名

 

配置App基础信息:

 

其中entityId从项目的yml配置文件取,RelayState为成功登录后默认的重定向地址。

点击Show Advanced Settings配置高级信息,主要是上传项目的公钥文件:

 

公钥文件位于项目resource文件夹下的localhost.cert文件,选择上传后如上图所示。

注意公私密钥是可以自己生成的,不一定需要使用项目提供的。

配置完成后,点击最下面的Next,进入下一页。

 

选择I'm a software vendor. I'd like to integrate my app with Okta选项,点击Finish结束配置。

第三步:下载Idp.xml文件

结束配置后,点击Applications,选择我们刚才创建的应用sso-saml2.0-test

 

进入后选择Sign On 的Tab页

 

鼠标下滑到最下面,选择Active状态的Idp配置文件

 

点击View IdP metadata

 

复制网页的所有信息,粘贴到项目resource目录下的idp-okta.xml配置中。

格式化后显示大致如下:

第四步:okta特定配置

最后,还需要给应用程序分配用户,不然会出现报错

 

选择App配置的Assignments页面,选择Assign to People 或者 Assign to Groups:

 

可以自定义用户名

 

配置成功后如下所示:

 

第五步:集成测试

配置完成以后启动项目,访问localhost:8080,或者通过http://localhost:8080/saml/login?RelayState=/home,来访问,成功后跳转如下

 

基于SuccessFactors的单点登录实现

SAP的SF系列产品登录和okta平台的单点登录几乎没有区别,工程代码可以不需要改,仅仅是需要稍微的调整一下配置文件就可以无缝的完成替换,由于涉及到工作信息,仅展示大概的示例:

 

这里额外说一下idp.xml和localhost.cert,idp.xml可以去sf的provisioning网站下载(Download SuccessFactors IdP metadata with SHA-256 Certificate),下载后直接是一个xml文件,内容全部粘贴到idp.xml即可,在对应的页面,可以配置对应的entityId和回调App的url。

localhost.cert则可以自己用RSA工具生成配套的公私钥。

可以看到,okta和sf唯一的区别的就是两个红框的配置不同,代码不用调整。

其登陆后实际效果如下:

 

Github工程代码链接

小结

工程代码和实际步骤都已经给出,其中以okta平台的配置最为详细,笔者已经实现过SAP的IAS平台和SF平台的saml2.0单点登录。工程代码主要来自Gitee,但是笔者对其进行了代码简化和进一步的优化,主要通过url后置参数,实现了登录成功后,可以跳转到自定义页面的功能。

其难点在于单点登录实现过程中,由于前端浏览器的url的多次跳转,导致登录成功后可能只能进入指定的/home页面,笔者利用saml2.0的RelayState参数,通过url后置参数——?RelayState=/home的形式,实现了单点登录成功后可以跳转到任意页面的功能。

希望对大家有所帮助。

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

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

相关文章

Barra模型因子的构建及应用系列六之Book-to-Price因子

一、摘要 在前期的Barra模型系列文章中,我们构建了Size因子、Beta因子、Momentum因子、Residual Volatility因子和NonLinear Size因子,并分别创建了对应的单因子策略,其中Size因子和NonLinear Siz因子具有很强的收益能力。本节文章将在该系列…

AI 协助办公 |记一次用 GPT-4 写一个消息同步 App

GPT-4 最近风头正劲,作为 NebulaGraph 的研发人员的我自然是跟进新技术步伐。恰好,现在有一个将 Slack channel 消息同步到其他 IM 的需求,看看 GPT-4 能不能帮我完成这次的信息同步工具的代码编写工作。 本文记录了我同 GPT 主要的交互过程…

不定积分练习

不定积分练习 在看视频的时候遇到了一道比较有趣的题,在这里给大家分享一下。 题目 计算 ∫ ( 1 x − 1 x ) e x 1 x d x \int(1x-\dfrac 1x)e^{x\frac 1x}dx ∫(1x−x1​)exx1​dx 解: \qquad 原式 ∫ e x 1 x d x ∫ x ( 1 − 1 x 2 ) e x 1…

ESP Certificate Bundle 分享

基本概念 数字签名:是一种将相当于现实世界中的盖章、签字的功能在计算机世界中进行实现的技术。使用数字签名可以识别篡改和伪装,还可以防止否认。 证书:要开车得先靠驾照,驾照上面记有本人的照片、姓名、出生日期等个人信息&a…

【大唐杯学习超快速入门】5G智能网络优化

这里写目录标题 学习--实验背景上下行速率VOLTE掉话率优化时延优化 接入保持特性提升无线接通率切换成功率 附录 数据分析其他几种选项差不多 学习–实验背景 观看视频进行学习,理解该仿真的内涵 使用人工智能代替人工分析,对5G网络进行优化 上下行速率…

Centos Linux 操作系统中配置Gitlab服务器

基本准备 安装常用的工具包 linux根据操作系统的不同,有不同的安装工具,如, 操作系统 格式 工具 Debian .deb apt, apt-cache, apt-get, dpkg Ubuntu .deb apt, apt-cache, apt-get, dpkg CentOS .rpm yum Fedora .rpm dnf …

企业数智底座白皮书:详解数智平台必备的六大能力

在以“升级企业数智化底座”为主题的2023用友BIP技术大会上,用友联合全球权威咨询机构IDC共同发布《建设数字中国 升级数智底座——企业数智化底座白皮书》,在这本数智平台白皮书里详细解读了企业数智平台应该具备的六大基础能力。 当前企业数智化能力进…

一文剖析mlock锁原理

一般用户空间关联的物理页面是按需通过缺页异常的方式分配和调页,当系统物理内存不足时页面回收算法会回收一些最近很少使用的页面,但是有时候我们需要锁住一些物理页面防止其被回收(如时间有严格要求的应用),Linux中提…

市面上的智能电表都有多少安的?适用于那些场景?

随着智能化技术的快速发展,智能电表已经成为了家庭和公寓物业配电系统的必备设备之一。智能电表的功率等级通常为10A或15A,具体取决于电表型号和用途。那么,这些功率等级的智能电表适用于哪些场景呢? 首先,10A功率等级…

【实验练习】基于自注意力机制Vision Transformer模型实现人脸朝向识别 (Python实现) 内容原创

题目 人脸识别是一个复杂的模式识别问题,人脸识别是人脸应用研究中非常重要的一步。由于人脸形状不规则、光线和背景条件多样,导致人脸检测精度受限。实际应用中,大量图像和视频源中人脸的位置、朝向、朝向角度都不是固定的,极大…

内网渗透—隧道技术

内网渗透—隧道技术 1. 隧道技术介绍1.1. 内网—隧道技术1.2. 常见的隧道协议1.3. 前置条件1.4. 判断内网的连通性 2. 网络层隧道技术2.1. ICMP隧道技术2.1.1. 常见工具2.1.2. Pingtunnel基础演示2.1.2.1. 下载服务端2.1.2.2. 下载客户端2.1.2.3. 设置CS连接2.1.2.4. 连接测试 …

功能上新|对比分析、Batches数量、函数释义Tips

本篇是继功能上新|内存篇、GPU篇之后,为大家展示更多关于提升浏览UWA GOT Online Overview报告体验的优化项,包括Overview报告的对比分析、Batches数量、函数释义Tips等。这些功能可以让你更快上手对报告的理解,亦或者更好地融入在…

.Net Core 6 WebApi 项目搭建(一、简单搭建)

前言 对于后端开发者最耻辱的是什么,是只会增删改查,只会CV,只会业务代码。没错,我就是被钉在耻辱柱上的一员,3年开发经验,不会搭建框架,只会写业务代码,丢人丢人啊,所以…

【XR】One More Thing:Vision Pro ,7年磨一剑,2023WWDC苹果发布Vision MR

One More Thing:Vision Pro ,7年磨一剑,2023WWDC苹果发布Vision MR 1. 苹果MR Vision Pro:1. 专利布局:苹果表示在开发过程中申请了5000多项专利。2. 专属感知计算芯片3. 显示屏系统方面4. 续航方面5. Vision MR 的新框…

MATLAB安装配置MinGW-w64 C++编译器

文章目录 前言一、Mingw安装1、安装教程2、验证 二、MATLAB安装配置MinGW总结 #pic_center 前言 只是为方便学习,不做其他用途 一、Mingw安装 在网上找到的安装一直报错:The file has been downloaded incorrectly 1、安装教程 建议参考博客Mingw快捷安…

C++内存序、屏障和原子操作

文章目录 一、原子类型二、原子操作函数三、内存序1&#xff09;happens-before和synchronizes-with语义2&#xff09;内存序模式 四、标准库函数五、栅栏&#xff08;Barrier&#xff09; 一、原子类型 标准原子类型的备选名和与其相关的 std::atomic<> 特化类&#xf…

探索低代码的新形态(D2C、ChatGPT)

前言 低代码平台的出现&#xff0c;是互联网快速发展的背景下&#xff0c;满足产品快速迭代的实际需求。现在国内外都已经拥有非常多优秀的开源项目&#xff08;如&#xff1a;lowcode-engine&#xff09;和成熟的商业产品&#xff08;如&#xff1a;Mendix 、PowerPlatform&a…

Orillusion次时代 WebGPU 引擎

Orillusion 次时代 WebGPU 引擎 官网: https://www.orillusion.com/ 教程: https://www.orillusion.com/guide/ Orillusion 引擎是一款完全支持 WebGPU 标准的轻量级渲染引擎。基于最新的 Web 图形API标准&#xff0c;我们做了大量的探索和尝试&#xff0c;实现了很多曾经在 We…

python接口自动化(三)--如何设计接口测试用例(详解)

在开始接口测试之前&#xff0c;我们来想一下&#xff0c;如何进行接口测试的准备工作。或者说&#xff0c;接口测试的流程是什么&#xff1f;有些人就很好奇&#xff0c;接口测试要流程干嘛&#xff1f;不就是拿着接口文档直接利用接口 测试工具测试嘛。其实&#xff0c;如果…

【正点原子STM32连载】 第二十八章 低功耗实验摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十…