MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

GitHub精选 | 快速搞定第三方授权登录

2025-04-01 18:41 huorong 精选文章 6 ℃ 0 评论

《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个第三方登录的开源组件——JustAuth。

JustAuth是一个第三方授权登录的工具类库,使用接入非常方便,目前支持Github、Gitee、微信、QQ、百度、支付宝、淘宝、微博、抖音、美团、飞书等十余个平台,未来还会接入更多平台。

快速使用(以QQ为例):

1、如果是第一次使用,需要到“QQ互联平台”申请开发者,通过后创建应用并且复制三个信息:App ID、App Key和网站回调域

2、集成JustAuth

  • 添加依赖


me.zhyd.oauth

JustAuth

${latest.version}

  • 创建Request,把第一步的三个信息添加进去
AuthRequest authRequest = new AuthQqRequest(AuthConfig.builder()

.clientId("App ID")

.clientSecret("App Key")

.redirectUri("网站回调域")

.build());
  • 生成授权地址
//这个链接可以直接在后台重定向跳转,也可以返回到前端跳转

String authorizeUrl = authRequest.authorize(AuthStateUtils.createState());
  • 或者生成授权页面
authRequest.authorize("state");

// 授权登录后会返回code(auth_code(仅限支付宝))、state,1.8.0版本后,可以用AuthCallback类作为回调接口的参数

// 注:JustAuth默认保存state的时效为3分钟,3分钟内未使用则会自动清除过期的state

authRequest.login(callback);

JustAuth的团队还在持续接入其他平台的授权登录,感兴趣的同学可以关注一下。


GitHub:https://github.com/justauth/JustAuth

Tags:nginx auth_request

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言