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 Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

SpringBoot项目是如何启动

启动步骤 概念 运行main方法,初始化SpringApplication 从spring.factories读取listener ApplicationContentInitializer运行run方法读取环境变量,配置信息创建SpringApplication上下文预初始化上下文,将启动类作为配置类进行读取调用 refresh 加载 IOC容器,加载所有的自动配置类,创建容器在这个过程

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。