在我们的项目开发中,使用(如QQ登录、微信登录等)可以更加方便、轻松地实现用户登录。
在以往的开发过程中,如果要使项目实现第三方登录功能,一般过程是,并(或者依赖pom),然后进行开发实现。
但是,如果网站要实现第三方平台的登录功能,则需要很高的。
所以,就有开发者实现了一款基于Spring Boot的开箱即用的整合第三方登录的开源组件:JustAuth
该插件的网址:https://justauth.wiki
本文将基于,使用实现第三方快捷登录,并获取用户的uid。
首先给出几个链接:
- 组件的帮助文档:https://justauth.wiki
- 组件的GitHub:https://github.com/justauth/JustAuth
- 组件的Gitee组织:https://gitee.com/justauth/
在组件的各个网址,都可以看到关于该组件的自述:
小而全而美的第三方登录开源组件。目前已支持Github、Gitee、微博、钉钉、百度、Coding、腾讯云开发者平台、OSChina、支付宝、QQ、微信、淘宝、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest、人人、华为、企业微信、酷家乐、Gitlab、美团、饿了么和推特等第三方平台的授权登录。 Login, so easy!
可以看出,此组件支持的第三方登录平台,是非常全的。
下面,以和为例,测试上使用该组件完成第三方登录快速开发。
- 建议参考组件的帮助文档,均有详细说明。
- 或者直接参考官方的demo:https://github.com/justauth/JustAuth-demo
- 开发之前,需要前往和申请应用,并获取 、 ,设置。
关于Spring Boot项目如何创建,可参考以下几篇文章:
- Idea创建Spring Boot项目
- Spring Boot 常用配置
- Spring Boot整合Thymeleaf
只看前两个就可以了。
创建完成项目之后,在文件中,导入依赖:
这里导入了4个依赖,说明如下:
第一个是必须的,版本就默认使用帮助文档中的最新版,如下图所示。
第二个是的实现组件,这是因为开始不会默认集成,需要单独添加;
第三个是,即自动生成模型的和。因为项目中授权登录成功后,返回的,使用了和注解。添加此组件,方便获取用户的单个信息(如uuid、nickname等)。
第四个是阿里巴巴的 组件,因为在返回的结果中,有些信息是封装成 的,需要使用该组件来转换成 ,从而获取对我们有用的信息。
1、 新建一个名为 的控制类,用来实现第三方插件的登录回调功能。
2、创建一个接口的实现类,用于、等
3、生成并
这时,控制台可以打印出生成的登录URL
浏览器访问,即可跳转至此登录页面
4、回调页面获取返回的,并通过返回的获取当前登录用户的
如下:
上面的图,点击登录后,即可跳转至回调页面,显示出所有的JSON数据,如下图所示:
我们对该进行分析:
- 返回的是2000,表示获取数据成功(其他代码,可以在https://justauth.wiki/quickstart/error_code.html查看);
- 返回的数据,包含所有有用的信息,如用户ID、用户昵称、头像、性别等等;
- 下的n,包含所有的、和等信息;
- 的o,是第三方平台返回的;
- 关于返回的JSON数据的每个子段的,都可以在中查看。
5、后台获取指定信息
上面可以获取所有的用户信息,但这些信息,我们并不能这样使用,而是筛选有用的信息,然后保存到自己的数据库。
所以下面这个完整示例,演示如何获取上述JSON中的指定信息。
其实这段代码,和JSON数据,是一一对应的,如下图所示:
打印结果:
有了上面QQ登录的详细分析,微博登录也是类似的,这里速战速决。
1、创建授权请求类
2、生成并跳转登录链接
3、回调页面获取信息,以及返回JSON数据
当然,还有其他各个平台,如:
以上就是本篇文章【Spring Boot开发之使用JustAuth组件实现第三方登录(QQ、微博等)】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/2680.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多