diff --git a/auth-service/src/main/java/com/test/config/OAuth2Configuration.java b/auth-service/src/main/java/com/test/config/OAuth2Configuration.java index 1cb3888..9be51bc 100644 --- a/auth-service/src/main/java/com/test/config/OAuth2Configuration.java +++ b/auth-service/src/main/java/com/test/config/OAuth2Configuration.java @@ -39,7 +39,7 @@ public class OAuth2Configuration extends AuthorizationServerConfigurerAdapter { .withClient("web") //客户端名称,随便起就行 .secret(encoder.encode("654321")) //只与客户端分享的secret,随便写,但是注意要加密 .autoApprove(false) //自动审批,这里关闭,要的就是一会体验那种感觉 - .redirectUris("http://localhost:8201/login") //可以写多个,当有多个时需要在验证请求中指定使用哪个地址进行回调 + .redirectUris("http://localhost:8101/login", "http://localhost:8201/login", "http://localhost:8301/login") //可以写多个,当有多个时需要在验证请求中指定使用哪个地址进行回调 .scopes("book", "user", "borrow") //授权范围,这里我们使用全部all .authorizedGrantTypes("client_credentials", "password", "implicit", "authorization_code", "refresh_token"); //授权模式,一共支持5种,除了之前我们介绍的四种之外,还有一个刷新Token的模式 diff --git a/book-service/pom.xml b/book-service/pom.xml index bbf3efd..b631c8c 100644 --- a/book-service/pom.xml +++ b/book-service/pom.xml @@ -19,6 +19,16 @@ + + org.springframework.boot + spring-boot-starter-security + + + + org.springframework.cloud + spring-cloud-starter-oauth2 + 2.2.5.RELEASE + org.springframework.boot spring-boot-starter-web diff --git a/book-service/src/main/java/com/test/BookApplication.java b/book-service/src/main/java/com/test/BookApplication.java index 7c25a8d..6b481cc 100644 --- a/book-service/src/main/java/com/test/BookApplication.java +++ b/book-service/src/main/java/com/test/BookApplication.java @@ -1,8 +1,8 @@ package com.test; -import com.apple.eawt.Application; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso; /** * ClassName: BookApplication @@ -11,6 +11,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @author yovinchen * @Create 2023/8/14 16:23 */ +@EnableOAuth2Sso @SpringBootApplication public class BookApplication { public static void main(String[] args) { diff --git a/book-service/src/main/java/com/test/controller/BookController.java b/book-service/src/main/java/com/test/controller/BookController.java index bee4a22..07539c9 100644 --- a/book-service/src/main/java/com/test/controller/BookController.java +++ b/book-service/src/main/java/com/test/controller/BookController.java @@ -1,6 +1,8 @@ package com.test.controller; import com.test.service.BookService; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -23,6 +25,9 @@ public class BookController { @RequestMapping("/book/{bid}") Book findBookById(@PathVariable("bid") int bid){ + //通过SecurityContextHolder将用户信息取出 + SecurityContext context = SecurityContextHolder.getContext(); + System.out.println(context.getAuthentication()); return service.getBookById(bid); } } diff --git a/book-service/src/main/resources/application.yml b/book-service/src/main/resources/application.yml index fbfd6fd..bba7136 100644 --- a/book-service/src/main/resources/application.yml +++ b/book-service/src/main/resources/application.yml @@ -6,3 +6,16 @@ spring: url: jdbc:mysql://43.143.164.194:3306/mac username: mac password: mactest +security: + oauth2: + client: + #不多说了 + client-id: web + client-secret: 654321 + #Token获取地址 + access-token-uri: http://localhost:8500/sso/oauth/token + #验证页面地址 + user-authorization-uri: http://localhost:8500/sso/oauth/authorize + resource: + #Token信息获取和校验地址 + token-info-uri: http://localhost:8500/sso/oauth/check_token diff --git a/borrow-service/pom.xml b/borrow-service/pom.xml index 35810a9..10d98ab 100644 --- a/borrow-service/pom.xml +++ b/borrow-service/pom.xml @@ -18,6 +18,16 @@ UTF-8 + + org.springframework.boot + spring-boot-starter-security + + + + org.springframework.cloud + spring-cloud-starter-oauth2 + 2.2.5.RELEASE + org.springframework.boot spring-boot-starter-web diff --git a/borrow-service/src/main/java/com/test/BorrowApplication.java b/borrow-service/src/main/java/com/test/BorrowApplication.java index 0a93b4d..2fd3d18 100644 --- a/borrow-service/src/main/java/com/test/BorrowApplication.java +++ b/borrow-service/src/main/java/com/test/BorrowApplication.java @@ -2,6 +2,7 @@ package com.test; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso; /** * ClassName: BorrowApplication @@ -10,6 +11,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @author yovinchen * @Create 2023/8/14 16:25 */ +@EnableOAuth2Sso @SpringBootApplication public class BorrowApplication { public static void main(String[] args) { diff --git a/borrow-service/src/main/resources/application.yml b/borrow-service/src/main/resources/application.yml index 1dfc74e..8c74635 100644 --- a/borrow-service/src/main/resources/application.yml +++ b/borrow-service/src/main/resources/application.yml @@ -6,3 +6,16 @@ spring: url: jdbc:mysql://43.143.164.194:3306/mac username: mac password: mactest +security: + oauth2: + client: + #不多说了 + client-id: web + client-secret: 654321 + #Token获取地址 + access-token-uri: http://localhost:8500/sso/oauth/token + #验证页面地址 + user-authorization-uri: http://localhost:8500/sso/oauth/authorize + resource: + #Token信息获取和校验地址 + token-info-uri: http://localhost:8500/sso/oauth/check_token diff --git a/pom.xml b/pom.xml index 7e322a9..c5e904e 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,16 @@ 1.8 + + org.springframework.boot + spring-boot-starter-security + + + + org.springframework.cloud + spring-cloud-starter-oauth2 + 2.2.5.RELEASE + org.springframework.boot spring-boot-starter diff --git a/user-service/src/main/java/com/test/UserApplication.java b/user-service/src/main/java/com/test/UserApplication.java index d5cae82..a9395da 100644 --- a/user-service/src/main/java/com/test/UserApplication.java +++ b/user-service/src/main/java/com/test/UserApplication.java @@ -2,6 +2,7 @@ package com.test; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso; /** * ClassName: UserApplication @@ -10,6 +11,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @author yovinchen * @Create 2023/8/14 16:26 */ +@EnableOAuth2Sso @SpringBootApplication public class UserApplication { public static void main(String[] args) { diff --git a/user-service/src/main/resources/application.yml b/user-service/src/main/resources/application.yml index 6ca8900..733e03b 100644 --- a/user-service/src/main/resources/application.yml +++ b/user-service/src/main/resources/application.yml @@ -6,3 +6,16 @@ spring: url: jdbc:mysql://43.143.164.194:3306/mac username: mac password: mactest +security: + oauth2: + client: + #不多说了 + client-id: web + client-secret: 654321 + #Token获取地址 + access-token-uri: http://localhost:8500/sso/oauth/token + #验证页面地址 + user-authorization-uri: http://localhost:8500/sso/oauth/authorize + resource: + #Token信息获取和校验地址 + token-info-uri: http://localhost:8500/sso/oauth/check_token