大家好,我是飘渺。
有不少人私下问我,为什么SpringCloud alibaba实战系列不更新了,主要是因为大部分核心功能都已经讲完了,剩下的基本是属于业务功能开发了,需要根据实际业务扩展。
今天更新文章的原因是粉丝提了个问题:如何实现Oauth2认证服务器自定义登录接口以及返回自定义格式? 这里我给大家分享一个简单且实用的方法,既可以灵活定制登录参数也可以自行组装返回结果。
实现方案
我们知道,认证服务器生成token的入口是TokenEndpoint#postAccessToken(Principal principal, @RequestParam Map<String, String> parameters)
,那我们就可以直接在认证服务器自定义一个登录接口,然后组装好TokenEndpoint#postAccessToken()
需要的参数,直接调用它生成token后再封装成我们需要的格式即可。
接下来我们直接进入实战:
1. 定义登录参数
/**
* 自定义登录参数
* @author JAVA日知录
* @date 2022/5/14 09:23
*/
@Data
public class LoginRequest {
private String userName;
private String password;
private String grantType;
private String mobile;
private String smsCode;
}
为了兼容密码