SSO demo with Okta and spring boot - YouTube

整体流程

去okta注册后会自动生成一个教程,点击 Create your web application

设置OKTA认证成功之后返回toekn的URL ,这个地址如果spring security没有指定登录URL,就默认是这个

​​​​​​​http://localhost:8081/login

获取到client id 和client sercret ,会用在springboot配置文件中

获取为这个app提供认证的网址, 就是springboot配置文件中需要写的issuer

然后设置能够访问这个app的用户,设置邮箱密码

点击新建的people,将app asigned给指定的people

=========================================================

编写springboot程序

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo-okta-sso</artifactId><version>0.0.1-SNAPSHOT</version><name>demo-okta-sso</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.okta.spring</groupId><artifactId>okta-spring-boot-starter</artifactId><version>0.6.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.security.oauth.boot</groupId><artifactId>spring-security-oauth2-autoconfigure</artifactId><version>2.1.5.RELEASE</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
package com.example.demooktasso;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.security.PermitAll;
import java.security.Principal;@SpringBootApplication
@RestController
@EnableOAuth2Sso
public class DemoOktaSsoApplication {@GetMapping("/")public String greetUser(Principal principal){return "Hello "+principal.getName()+" from application 2";}public static void main(String[] args) {SpringApplication.run(DemoOktaSsoApplication.class, args);}}
server.port=8081#from application
okta.oauth2.clientId=刚才在OKTA官网查看到的
okta.oauth2.clientSecret=刚才在OKTA官网查看到的
#from API
okta.oauth2.issuer=刚才在OKTA官网查看到的

======================================

启动程序

无痕模式访问localhost:8081

会重定向到这

重定向的完整路径
https://dev-44813837.okta.com/oauth2/default/v1/authorize?client_id=0oa5w5fx8u66AZswK5d7&redirect_uri=http://localhost:8081/login&response_type=code&scope=profile%20email%20openid&state=wLmpI1详细信息
https://dev-44813837.okta.com/oauth2/default/v1/authorize?
client_id=0oa5w5fx8u66AZswK5d7
&redirect_uri=http://localhost:8081/login
&response_type=code
&scope=profile%20email%20openid
&state=wLmpI1

重定向到这就会获取到对应app的认证页面,输入people的邮箱密码

然后依次发起三次请求

https://dev-44813837.okta.com/login/token/redirect?
stateToken=02.id.i224I4bxORCa1dAC1xD_v1nWU3t645m50eprGyURhttp://localhost:8081/login?
code=DQTcQ8pJKVkIBmWDinYP54S6OGzWuX6pBnUpOZN4Ms8&state=wLmpI1http://localhost:8081/

成功访问到资源

====================================

修改代码开个8080端口,然后在OKTA中配置以下重定向的URL,启动项目,无痕模式发现登录不了,因为8081已经登录了

OKTA==springboot2.5.4整合OKTA实现单点登录demo相关推荐

  1. CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录

    CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录 1.1 什么是单点登录 1.2 什么是CAS 1.3 CAS服务端部署 1.template下载 1.4 客户端搭建 1.1 什么是 ...

  2. C# ASP.NET程序员整合Java门户单点登录PHPwind论坛博客软件集成项目经验总结

    为什么80%的码农都做不了架构师?>>>    有人曾问,如何正确估算项目周期?你是天天写C#程序的程序员,若做了一个 PHPwind 的单点登录,那估计需要几天时间? 客户只提了一 ...

  3. SpringSecurity整合Redis实现单点登录及认证返回json数据

    前一阵刚研究了shiro框架,现在再来研究一下SpringSecurity. SpringSecurity是由spring团队开发的,为web应用安全性提供了完整的解决方案的框架.虽然现在使用spri ...

  4. spring boot整合Shiro实现单点登录

    默认情况下,Shiro已经为我们实现了和Cas的集成,我们加入集成的一些配置就ok了 1.加入shiro-cas包 <!-- shiro整合cas单点 --><dependency& ...

  5. (附源码)Spring Boot 框架整合 OAuth2 实现单点登录 SSO 详细完整源码教程!

    1.  前言 技术这东西吧,看别人写的好像很简单似的,到自己去写的时候就各种问题,"一看就会,一做就错".网上关于实现SSO的文章一大堆,但是当你真的照着写的时候就会发现根本不是那 ...

  6. SpringBoot整合Keycloak实现单点登录

    Keycloak是一个开源的身份和权限访问管理工具,轻松为应用程序和安全服务添加身份验证,无需处理储存用户或者验证用户,其提供用户联合.强健的身份验证.用户管理和细粒度授权等功能. 1. 搭建Keyc ...

  7. SpringSecurity3整合CAS实现单点登录

    SpringSecurity本身已经做好了与CAS的集成工作,只需要我们做简单配置就可以了 步骤1 spring-cas.xml配置文件内容如下(完整版) <?xml version=" ...

  8. SpringBoot 简单实现仿CAS单点登录系统

    SpringBoot 简单实现仿CAS单点登录系统 新境界开源开源SSO项目介绍 新境界开源SSO项目实现原理大致如下: 新境界开源SSO项目登录流程介绍 新境界开源SSO项目授权登录流程介绍 新境界 ...

  9. 京东ai NeuHub单点登录

    <?php namespace Home\Controller; use Think\Controller; /**** desc:京东ai授权单点登录demo -thinkphp ** */ ...

最新文章

  1. 线段树练习 3P3372 【模板】线段树 1
  2. 5分钟教你写出一份完美的PRD文档(附案例)
  3. java基础----递归实现文件搜索
  4. python 底层原理processpoolexecutor_python 多进程并行编程 ProcessPoolExecutor的实现
  5. JVM进阶之路, 不然又要被面试官吊打了
  6. 夯实基础,彻底掌握js的核心技术(一)
  7. python爬虫天气实例scrapy_2017.08.04 Python网络爬虫之Scrapy爬虫实战二 天气预报...
  8. 【SpringCloud】服务降级 Hystrix 断路器
  9. 2005/2/21 开始查阅有关gis的相关信息
  10. 索尼工厂被迫停止生产,日本地震带来的冲击可能不止于此
  11. Linux命令(压缩,解压rar)
  12. 体外肿瘤细胞敏感性分析试剂盒 实验原理
  13. 混合云架构下的安全风险分析和安全解决方案建议
  14. python alpha通道_去除图像中的alpha通道或透明度
  15. 标签设计软件如何设计注册商标标识
  16. 360无线wifi 无法连接服务器,360wifi连接上但上不了网的解决方法
  17. 瑞幸咖啡,不过是又一个“逃离美团者”
  18. 缠论-2011.4.11晚
  19. java面试的笔试题
  20. html中将scss转编译为css,SASS把scss转化为css的四种转化方式与命令

热门文章

  1. 全球与中国有机溴衍生物市场深度调研与前景方向预测报告2022年版
  2. 三年功能测试现在已经有无力感了,感觉跟不上时代的变化了
  3. spark1.1.0部署standalone分布式集群
  4. 手机电台广播在线收听 - fm 电台频道大全
  5. 计算机硬盘用u盘维修,U盘装机大师修复磁盘坏道详细教程
  6. effective c++20 尽量以传引用代替传参,pass-by-reference-to-const 代替pass-by-value
  7. xp 应用计算机设置在哪里打开,XP电脑开机启动项在哪里设置 修改电脑开机启动项的技巧...
  8. 爬取东方财富股吧中评论数据
  9. 向日葵Linux命令行安装,向日葵X版Linux安装教程
  10. php 的时间戳时区,PHP中时间戳和时区