- 导入hutool依赖:
<!-- hutool -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.14</version>
</dependency>
- 项目搭建后,首先在gitee创建一个第三方应用:
步骤如下:
例如:
一、代码参考gitee官方文档:
gitee接口参考:Gitee OAuth 文档
HttpUtil工具类使用参考:Http客户端工具类-HttpUtil | Hutool
二、功能代码:
(1):后端:
- 为前端跳转到三方认证页面提供请求(目的是为了让前端可以获取到code码方便后端获取到access_token):
- 登录
String token = JWT.create()
.setPayload("id", id)
.setPayload("login", login)
.setSigner(JWTSignerUtil.none())
.sign();
HashMap map=new HashMap();
map.put("token",token);
return R.successed(map);
- 前端:
- 写一个按钮:
<el-button @click="getAuth">授权</el-button>
- 一个方法:
methods: {
getAuth(){//打开一个页面链接就是后端的接口getCode去到三方授权页面
window.location.href=API+'/auth/getCode';
},
}
- Created里面:
created() {
//从浏览器header路径获取code
let code=this.$route.query.code;
if (code){//存在code就调用登录
console.log("code",code)
userService.loginApi({code:code}).then(res=>{
localStorage.setItem("token",res.data.data.token);
this.$router.push("/list") //登录成功跳转到list的页面
})
}
}