SpringCloud Alibaba微服务实战三十七 - Oauth2自定义登录接口

Posted 飘渺Jam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud Alibaba微服务实战三十七 - Oauth2自定义登录接口相关的知识,希望对你有一定的参考价值。

大家好,我是飘渺。

有不少人私下问我,为什么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;

为了兼容密码模式和自定义的短信验证码模式&

以上是关于SpringCloud Alibaba微服务实战三十七 - Oauth2自定义登录接口的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud Alibaba微服务实战三十一 - 业务日志组件

SpringCloud Alibaba微服务实战三十三 - 集成灰度发布

SpringCloud Alibaba微服务实战三十四 - 隐私接口禁止外部访问

SpringCloud Alibaba微服务实战三十六 - 这大概算是使用Feign的正确姿势。

SpringCloud Alibaba微服务实战三十七 - Oauth2自定义登录接口

SpringCloud Alibaba微服务实战三十七 - Oauth2自定义登录接口