摘要:今天为大家带来一个优雅的使用的方案,通常我们在使用时需要去定义和之类的配置,而且整体写起来非常硬邦邦,不是硬编码就是放或者,但我怎么管理我的那么多在现在前后端分离的场景下,通常一个后端服务会提供和给客户端去做认证的请求,但有没有考虑过如果有
今天为大家带来一个优雅的使用Spring Security OAuth2的方案,通常我们在使用时需要去定义AuthorizationServer和ResourceServer之类的配置,而且整体写起来非常Very Hard(硬邦邦),不是硬编码就是放Redis或者JDBC,但我怎么管理我的那么多Client?在现在前后端分离的场景下,通常一个后端服务会提供client id和client secret给客户端去做认证的请求,但有没有考虑过如果有多个服务要依赖后端,难道全部采用一个client id和client secret?怎么给他们做区分做限制?难道继续硬编码的加?特别是在现在非常流行的微服务上,我一个服务很有可能对应着很多个应用。所以我在这里给大家推荐一个我个人认为比较优雅的解决方案 Watchdog 欢迎大家Star和PR以及ISSUES
首先引入依赖
org.yuequan watchdog-spring-boot-starter 0.7.0.BETA
然后执行项目中的Watchdog的schema.sql地址在Github点击前往,建立所依赖的表配置好项目的DataSource
然后再启动类上面添加@EnableWatchdog
@SpringBootApplication @EnableWatchDog public class WatchdogSampleApplication { public static void main(String[] args) { SpringApplication.run(WatchdogSampleApplication.class, args); } }
然后配置你的密码加密方式和认证管理,例如:
@Configuration public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private PasswordEncoder passwordEncoder; @Bean public PasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder(); } @Bean @Override protected AuthenticationManager authenticationManager() throws Exception { return super.authenticationManager(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("test") .password(passwordEncoder.encode("123456")) .authorities("USER"); } }
然后启动项目,在浏览器地址栏输入http://localhost:8080/watchdog.html,然后你会看见如下界面
然后点击Create按钮
输入你应用的名字,回调地址和Scope你可以不填,不填将使用默认的,然后点OK
接着点Show
可以点击回调地址跳转客户端授权,也可以复制ClientID和ClientSecret进行password认证
比如:http://localhost:8080/oauth/token?username=test&password=123456&grant_type=password&scope=DEFAULT&client_id=1327ea6b-a452-48a1-a3d3-a27c5f7ca9c5&client_secret=c4b16a0a-fb0e-470a-b6c4-73ddb4ee74b3
是不是很简单方便,如果该starter对大家有帮助,可以点个star来支持我~,我会长期的去完善它和维护它,在使用的过程中遇见任何问题都可以在Github上提问,Github的地址是https://github.com/yuequan199...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/72371.html
摘要:前言基于做微服务架构分布式系统时,作为认证的业内标准,也提供了全套的解决方案来支持在环境下使用,提供了开箱即用的组件。 前言 基于SpringCloud做微服务架构分布式系统时,OAuth2.0作为认证的业内标准,Spring Security OAuth2也提供了全套的解决方案来支持在Spring Cloud/Spring Boot环境下使用OAuth2.0,提供了开箱即用的组件。但...
摘要:下班后闲着无聊看了下中的自动配置,把我的理解跟大家说下。上述的每一个自动配置类都有自动配置功能,也可在配置文件中自定义配置。 微信公众号:一个优秀的废人。如有问题,请后台留言,反正我也不会听。 前言 这个月过去两天了,这篇文章才跟大家见面,最近比较累,大家见谅下。下班后闲着无聊看了下 SpringBoot 中的自动配置,把我的理解跟大家说下。 配置文件能写什么? 相信接触过 Sprin...
摘要:认证服务器和浏览器控制台也没有报错信息。这里简单介绍下如何查阅源码,首先全局搜索自己的配置因为这个地址是认证服务器请求授权的,所以,请求认证的过滤器肯定包含他。未完待续,下一篇介绍资源服务器和认证服务器的集成。 基于spring-security-oauth2-实现单点登录 文章代码地址:链接描述可以下载直接运行,基于springboot2.1.5,springcloud Green...
阅读 1744·2021-11-24 09:39
阅读 1512·2021-11-16 11:54
阅读 3475·2021-11-11 16:55
阅读 1611·2021-10-14 09:43
阅读 1421·2019-08-30 15:55
阅读 1213·2019-08-30 15:54
阅读 3403·2019-08-30 15:53
阅读 1311·2019-08-30 14:18