摘要:今天為大家帶來一個優雅的使用的方案,通常我們在使用時需要去定義和之類的配置,而且整體寫起來非常硬邦邦,不是硬編碼就是放或者,但我怎么管理我的那么多在現在前后端分離的場景下,通常一個后端服務會提供和給客戶端去做認證的請求,但有沒有考慮過如果有
今天為大家帶來一個優雅的使用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...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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...
閱讀 1762·2021-11-24 09:39
閱讀 1551·2021-11-16 11:54
閱讀 3497·2021-11-11 16:55
閱讀 1655·2021-10-14 09:43
閱讀 1445·2019-08-30 15:55
閱讀 1233·2019-08-30 15:54
閱讀 3421·2019-08-30 15:53
閱讀 1338·2019-08-30 14:18