JustAuth是一个开源的Java社交登录组件,可以通过简单的配置即可实现 QQ、微信、新浪微博、Github 等社交平台的登录和用户信息获取。
特点
- 授权登录:支持 QQ、微信、新浪微博、Github 等社交平台登录授权。
- 用户信息获取:获取用户在授权平台上的基本信息,例如昵称、头像等。
- 统一API:JustAuth以统一的API输出授权信息,简化了后续的开发流程。
- 简单易用:只需简单配置即可实现社交登录授权和用户信息获取。
- 无需关注开放平台文档:JustAuth已经帮你处理好了各种API的访问参数和协议。
使用方法
-
引入依赖
<dependency> <groupId>me.zhyd.oauth</groupId> <artifactId>JustAuth</artifactId> <version>1.15.10</version> </dependency>
-
配置文件
在resources下创建auth.properties文件,配置应用的信息。
# client_id 为第三方应用的appId # client_secret 为第三方应用的appSecret github.client_id=填写你的client_id github.client_secret=填写你的client_secret # redirect_uri 为第三方应用的回调地址 # 通常为 "http://localhost:端口号/登录接口名/第三方平台名" github.redirect_uri=填写你的重定向地址
-
编写代码
// 创建 Github 授权请求 AuthRequest authRequest = new AuthGithubRequest(AuthConfig.builder() .clientId("你的appId") .clientSecret("你的appSecret") .redirectUri("http://localhost:端口号/登录接口名/github") .build()); // 获取第三方用户信息 AuthResponse response = new AuthGithubRequest(AuthConfig.builder() .clientId("你的appId") .clientSecret("你的appSecret") .redirectUri("http://localhost:端口号/登录接口名/github") .build()).getUserInfo(authToken); // 返回结果中包含第三方用户信息 if (response.ok()) { AuthUser user = (AuthUser) response.getData(); }
更详细的使用方法和示例可以查看JustAuth的官方文档。