准备
身份证正面照、身份证反面照
- 如果你还不会搭建SPRINGBOOT,请看SPRINGBOOT框架搭建
- 如果你还想学习使用QQ登录,请看SPRINGBOOT实现QQ登录
- 如果你还想学习使用GitHub登录,请看SPRINGBOOT实现GitHub登录
- GitHub:https://github.com/ChinaDragonNB/springboot-thirdparty
开发者认证
首先登录微博开发者平台:https://open.weibo.com/
登录进去后填写开发者信息
填写完信息后点击网站接入
之后会有一个立即接入的按钮,点击按钮创建应用
创建完应用后得到一个App Key与App Secret
之后点击左边的高级信息,编辑授权回调函数,回调函数里的地址要填ip不能填localhost,/sina/callback,这个是待会要创建的
之后看会文档,文档上面说引导需要授权的用户到如下地址:
https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
关键的两个参数:
- client_id 这个就是创建应用得到的App Key
- redirect_uri 这个就是刚刚编辑的授权回调函数
创建回调函数
框架搭好之后创建一个index.html页面,写一个a标签链接用于登录
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>新浪微博登录</title>
</head>
<body>
<a href="https://api.weibo.com/oauth2/authorize?client_id=3110289171&response_type=code&redirect_uri=http://127.0.0.1:8080/sina/callback">微博登录</a>
</body>
</html>
再创建一个success.html页面用户显示登录成功的信息
代码如下:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>title</title>
</head>
<body>
<h1>授权成功</h1>
用户名:<span th:text="${userName}"></span>
<br>
头像:<img th:src="${userImage}" alt="">
</body>
</html>
controller
包下创建一个SinaController
类
代码如下:
package cn.ak47007.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind