自定义spring security oauth /auth/token的返回内容格式

https://blog.csdn.net/u013905744/article/details/100637224

场景
在前后端分离的项目中,一般后端返回给前端的格式是一个固定的json格式。

在这个前提下,spring security oauth 生成access token的请求/auth/token的返回内容就需要自定义

原返回值

我们希望使用我们自己固定的json格式

需求
我们的BaseResponse类

public class BaseResponse {
 
    private String errorcode;
 
    private String value;
 
    public String getErrorcode() {
        return errorcode;
    }
 
    public void setErrorcode(String errorcode) {
        this.errorcode = errorcode;
    }
 
    public String getValue() {
        return value;
    }
 
    public void setValue(String value) {
        this.value = value;
    }
 
}


Response类

@Data
public class Respons
Spring Security 中设置 OAuth2 token endpoint 需要进行以下步骤: 1. 首先,确保你已经添加了 Spring Security OAuth2 的依赖。可以在 `pom.xml` 文件中添加以下依赖项: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-client</artifactId> </dependency> ``` 2. 在 Spring Security 的配置类中,添加 `@EnableOAuth2Client` 注解以启用 OAuth2 客户端功能。例如: ```java @Configuration @EnableWebSecurity @EnableOAuth2Client public class SecurityConfig extends WebSecurityConfigurerAdapter { // 配置其他的安全设置 } ``` 3. 在 `application.properties`(或 `application.yml`)文件中,配置 OAuth2 的相关属性。例如: ```properties spring.security.oauth2.client.registration.google.client-id=YOUR_CLIENT_ID spring.security.oauth2.client.registration.google.client-secret=YOUR_CLIENT_SECRET spring.security.oauth2.client.registration.google.redirect-uri={baseUrl}/login/oauth2/code/{registrationId} spring.security.oauth2.client.provider.google.authorization-uri=https://accounts.google.com/o/oauth2/v2/auth spring.security.oauth2.client.provider.google.token-uri=https://www.googleapis.com/oauth2/v4/token spring.security.oauth2.client.provider.google.user-info-uri=https://www.googleapis.com/oauth2/v3/userinfo spring.security.oauth2.client.provider.google.user-name-attribute=name ``` 注意:上述示例中的属性是以 Google OAuth2 作为示例,你需要将其替换为你使用的实际 OAuth2 提供商的属性。 4. 最后,你可以使用 `SecurityConfig` 类的 `configure(HttpSecurity http)` 方法来配置 Spring Security 的其他安全设置。例如: ```java @Configuration @EnableWebSecurity @EnableOAuth2Client public class SecurityConfig extends WebSecurityConfigurerAdapter { // 配置其他的安全设置 @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/oauth2/**", "/login/**").permitAll() .anyRequest().authenticated() .and() .oauth2Login() .loginPage("/login") .defaultSuccessUrl("/home") .and() .logout() .logoutUrl("/logout") .logoutSuccessUrl("/") .permitAll(); } } ``` 以上示例中,`configure(HttpSecurity http)` 方法配置了登录页、登录成功后的默认跳转页面和注销功能。 这是一个简单的设置 OAuth2 token endpoint 的示例,你可以根据自己的需求进行更详细的配置和定制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello_world!

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值