# easy-login **Repository Path**: jq_di/easy-login ## Basic Information - **Project Name**: easy-login - **Description**: 一个封装了登录的框架,支持密码、本机号码一键登录、微信授权登录(小程序、APP、公众号)、支付宝授权登录(小程序)等 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 7 - **Created**: 2024-06-16 - **Last Updated**: 2026-03-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: 登录设计, SpringBoot ## README 一个封装了登录的框架,支持密码、本机号码一键登录、微信授权登录(小程序、APP、公众号)、支付宝授权登录(小程序)等 ### 登录方式支持 | 登录方式 | 已实现 | | -------------------------- |--------| | 用户名+密码 | √ | | 手机号+密码 | √ | | 邮箱+密码 | √ | | 用户名+密码+验证码 | √ | | 手机号+密码+验证码 | √ | | 邮箱+密码+验证码 | √ | | 本机号码一键登录 | √ | | 手机号+验证码 | √ | | 邮箱+验证码 | √ | | 微信授权登录(APP) | √ | | 微信授权登录(小程序) | √ | | 微信授权登录(公众号) | √ | | 支付宝授权登录(小程序) | √ | | QQ授权登录 | √ | | 新浪微博授权登录 | ✘ | | 国外(如google)授权登录 | ✘ | ### 模块说明 ```lua 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代码 ``` ### SpringBoot自动装配条件 | 登录方式 | 实现类 | 装配条件 | | ------------------------- |----------------------------|------------------------------------------| | 用户名+密码 | 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 | ### 使用说明 #### 1:easy-login已发布至maven中央仓库,可以直接引入到项目中,maven依赖如下: ``` io.github.jqdi easy-login-spring-boot-starter {latest.version} ``` {latest.version}可通过[中央仓库](https://central.sonatype.com/artifact/io.github.jqdi/easy-login-spring-boot-starter)查询 #### 2:如使用微信授权登录(小程序),需引入微信sdk,其他可参考easy-login-core的pom配置 ``` com.github.binarywang weixin-java-miniapp 4.6.0 ``` #### 3:springboot yml 配置(如使用微信授权登录(小程序)),其他可参考easy-login-springboot-demo的pom配置 ``` easylogin: weixinMiniappMobile: # 微信小程序登录方式二 appid: 1111 #微信小程序的appid secret: 1111 #微信小程序的Secret ``` #### 4:在代码中使用 ``` @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 协议](https://www.apache.org/licenses/LICENSE-2.0.html)。 允许商业使用,但务必保留类作者、Copyright 信息。 #### 其他说明 1. 联系作者 897665787@qq.com