Spring Boot集成okta

2023-10-10 05:59
文章标签 spring boot 集成 okta

本文主要是介绍Spring Boot集成okta,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Spring Boot集成okta


前言

最近在工作中接触到了okta,并与Spring Boot进行集成,积累了一点点经验,分享出来给各位同行参考一下。hhh


一、okta是什么?

简单来说就是一个企业统一认证平台。

官网地址:The World’s #1 Identity Platform | OktaOkta is the #1 trusted platform to secure every identity, from customers to your workforce with SSO, Multi-factor Authentication, Lifecycle Management, and more.https://www.okta.com/

二、使用步骤

1.准备工作

  • 注册一个okta账号,okta注册地址
  • 创建一个Application,create an okta integration for your app
  • 获取该Application的clientIdclientSecretdomain,如下:
clientId:0oa4yo3mr6chFXfKO5d7
clientSecret:YPcqGW30JbW04LSfvvLYJc_DIdEuaK5I7VyNnMPs
domain:dev-86782088.okta.com

2.开发工作

a、pom.xml中引入okta相关依赖

<dependency><groupId>com.okta.spring</groupId><artifactId>okta-spring-boot-starter</artifactId><version>1.4.0</version>
</dependency>
<dependency><groupId>com.okta.spring</groupId><artifactId>okta-spring-sdk</artifactId><version>1.4.0</version>
</dependency>

注意: 因为我的Spring Boot 版本为2.3.12.RELEASE,参考https://start.spring.io/actuator/infoOKTA,okta的version选择1.4.0

b、application.properties加入okta相关配置:

okta.oauth2.issuer=https://dev-86782088.okta.com/oauth2/default
okta.oauth2.client-id=0oa4yo3mr6chFXfKO5d7
okta.oauth2.client-secret=YPcqGW30JbW04LSfvvLYJc_DIdEuaK5I7VyNnMPs
okta.oauth2.redirect-uri=/authorization-code/callback

c、主启动类Application.java

@SpringBootApplication
@Slf4j
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}@Configuration@EnableWebSecuritystatic class OktaOAuth2WebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().anyRequest().authenticated().and().oauth2Client().and().oauth2Login().and().oauth2ResourceServer().jwt();}}
}

d、控制器Controller.java

@RestController
public class TestController {@GetMapping("/hello")public String logout(@AuthenticationPrincipal OidcUser oidcUser) {return "Hello: " + oidcUser.getFullName();}}

e、访问localhost:8080/hello

然后输入自己的用户名密码:

 成功访问页面,nice~


总结

        以上就是Spring Boot集成okta的相关内容,如果大家有遇到相关的问题,可以在下面留言哦,我尽力帮大家解决。

这篇关于Spring Boot集成okta的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178446

相关文章

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

springboot中配置logback-spring.xml的方法

《springboot中配置logback-spring.xml的方法》文章介绍了如何在SpringBoot项目中配置logback-spring.xml文件来进行日志管理,包括如何定义日志输出方式、... 目录一、在src/main/resources目录下,也就是在classpath路径下创建logba

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

SpringBoot实现图形验证码的示例代码

《SpringBoot实现图形验证码的示例代码》验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用Hutool提供的小工具实现,本文介绍Sp... 目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

SpringBoot的内嵌和外置tomcat的实现方式

《SpringBoot的内嵌和外置tomcat的实现方式》本文主要介绍了在SpringBoot中定制和修改Servlet容器的配置,包括内嵌式和外置式Servlet容器的配置方法,文中通过示例代码介绍... 目录1.内嵌如何定制和修改Servlet容器的相关配置注册Servlet三大组件Servlet注册详

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什