废话不多说,直接进入正题:
第一步
首先不是创建网站,告诉他你有一个网站,而是你这个人要得到他的认可,要成为他的开发者(需要提交一些审核资料)

等待系统审核通过!开放平台:https://connect.qq.com/index.html
然后选择自己创建好的网站

点击应用管理创建应用,成功后会返回给你四个信息

审核通过后,他会给你一个APP ID和APP key

- 网站地址就不用说了
- 网站回调域:回调域其实就是你这网站里面的某一个接口而已,通过这个回调域告诉你是否成功还是失败(回调域就是用来接收结果的)
- APP ID和APP key是很重要的,是你唯一识别的编码(后面的每次发送请求都需要携带这两个东西)
所以一个QQ登录最起码需要这四个东西!
第二步
我是根据官方文档的步骤弄的,建议最好去看官方文档(因为我中间省略了一些细节,默认大家都会)

官网文档地址:
https://wiki.connect.qq.com/%E4%BD%BF%E7%94%A8authorization_code%E8%8E%B7%E5%8F%96access_token
首先:
以下有些参数后面会用到:
| 参数 | 是否必须 | 含义 |
|---|---|---|
| response_type | 必须 | 相当与token,唯一标识,访问请求时需要携带 |
| redirect_uri | 必须 | 你申请成功后的网站域名+请求,他到时候会根据这个地址来回调 |
| state | 必须 | 他是一个状态值,等于什么可以随便(但是他的值会在前端和服务器端来回的传递),以保证我们双方是共识的,如果另外一个人想过来,值写错了就会有问题,只是一个标识 |
| openId | 必须 | 此网站上或应用中唯一对应用户身份的标识,通过他可以获取到用户的信息 |
第三步
开始编写后端代码
1、pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
yml:
server:
port: 80
2、准备一个项目,什么都可以不要只需要一个controller就行(争取简便的代码)··
先拿到code

3、拿到token
页面上返回再次点击登录

通过restTemplate发送请求

4、获取到poenID

5、通过openID获取到userinfo所有信息

到此qq登录就结束了!
转载:https://blog.csdn.net/m0_51377883/article/details/112758902
查看评论