一个封装了登录的框架,支持密码、本机号码一键登录、微信授权登录(小程序、APP、公众号)、支付宝授权登录(小程序)等
| 登录方式 | 已实现 |
|---|---|
| 用户名+密码 | √ |
| 手机号+密码 | √ |
| 邮箱+密码 | √ |
| 用户名+密码+验证码 | √ |
| 手机号+密码+验证码 | √ |
| 邮箱+密码+验证码 | √ |
| 本机号码一键登录 | √ |
| 手机号+验证码 | √ |
| 邮箱+验证码 | √ |
| 微信授权登录(APP) | √ |
| 微信授权登录(小程序) | √ |
| 微信授权登录(公众号) | √ |
| 支付宝授权登录(小程序) | √ |
| QQ授权登录 | √ |
| 新浪微博授权登录 | ✘ |
| 国外(如google)授权登录 | ✘ |
easy-login
├── easy-login-core -- 核心代码
└── ali -- 支付宝授权登录
└── email -- 邮箱登录
└── mobile -- 手机号登录
└── password -- 密码登录
└── wx -- 微信授权登录
└── repository -- 持久化信息接口
└── easy-login-spring-boot-starter -- 整合springboot代码
└── easy-login-springboot-demo -- 在springboot中使用easy-login的demo代码| 登录方式 | 实现类 | 装配条件 |
|---|---|---|
| 用户名+密码 | UsernamePasswordClient | 实现PasswordRepository |
| 手机号+密码 | MobilePasswordClient | 实现PasswordRepository |
| 邮箱+密码 | EmailPasswordClient | 实现PasswordRepository |
| 用户名+密码+验证码 | UsernamePasswordCodeClient | 实现PasswordRepository和VerifycodeRepository |
| 手机号+密码+验证码 | MobilePasswordCodeClient | 实现PasswordRepository和VerifycodeRepository |
| 邮箱+密码+验证码 | EmailPasswordCodeClient | 实现PasswordRepository和VerifycodeRepository |
| 本机号码一键登录 | LocalMobileClient | 配置easylogin.localMobile.accessKeyId |
| 手机号+验证码 | MobileCodeClient | 实现VerifycodeRepository |
| 手机号+验证码+绑定授权 | MobileCodeBindClient | 实现VerifycodeRepository |
| 邮箱+验证码 | EmailCodeClient | 实现VerifycodeRepository |
| 邮箱+验证码+绑定授权 | EmailCodeBindClient | 实现VerifycodeRepository |
| 微信授权登录(APP) | WeixinAppClient | 配置easylogin.weixinApp.appid |
| 微信授权登录(小程序) | WeixinMiniappClient | 配置easylogin.weixinMiniapp.appid |
| 微信授权登录(小程序) | WeixinMiniappMobileClient | 配置easylogin.weixinMiniappMobile.appid |
| 微信授权登录(公众号) | WeixinMpClient | 配置easylogin.weixinMp.appid |
| 支付宝授权登录(小程序) | AlipayMiniappClient | 配置easylogin.alipayMiniapp.appid |
| 支付宝授权登录(小程序) | AlipayMiniappMobileClient | 配置easylogin.alipayMiniappMobile.appid |
| QQ授权登录 | QQClient | 配置easylogin.qq.appid |
<dependency>
<groupId>io.github.jqdi</groupId>
<artifactId>easy-login-spring-boot-starter</artifactId>
<version>{latest.version}</version>
</dependency>
{latest.version}可通过中央仓库查询
<!-- 微信sdk -->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-miniapp</artifactId>
<version>4.6.0</version>
</dependency>
easylogin:
weixinMiniappMobile: # 微信小程序登录方式二
appid: 1111 #微信小程序的appid
secret: 1111 #微信小程序的Secret
@Autowired
@Qualifier(LoginType.WEIXIN_MINIAPP_MOBILE)
private LoginClient weixinMiniappMobileClient;
public String loginByWeixinMiniappMobile(String wxcode) {
String userId = weixinMiniappMobileClient.login(LoginParams.builder().weixinMiniappMobile(wxcode).build());
String token = "generate token with userId:" + userId;
return token;
}
easy-login 开源软件遵循 Apache 2.0 协议。 允许商业使用,但务必保留类作者、Copyright 信息。
- 联系作者 897665787@qq.com