Vue+Oauth登录实现
介绍
在开发时,经常会遇到使用第三方登录的场景(比如微信,微博登录), 今天我们就来聊聊 Oauth 登录.
Oauth流程
其实各家 Oauth 登录流程大同小异,最为经典的莫过于 github 的 Oauth 登录.但是由于 GFW 的原因,时不时的抽风,调用接口调试有时候会超时。 因此下面我们使用国内的 gitee 举例说明. 
纯后端实现
这里就不介绍了,阮一峰老师有个 demo,使用 koa + axios实现 博客: GitHub OAuth 第三方登录示例教程 源码: node-oauth-demo
纯前端实现
为了方便大家理解, 这里将认证步骤归纳总结如下:
应用将用户引导(浏览器链接跳转)到码云三方认证页面上
用户对应用进行授权(网页上点击同意)
码云服务器通过回调地址跳回时将
code带上应用获取
url的code向码云服务器请求access_token应用通过
access_token调用码云相关接口获取用户信息
具体步骤如下:
登录码云 => 头像下拉 => 设置 => 左侧数据管理 => 第三方应用 => 创建应用
创建一个
vue项目,router新建俩个路由及对应页面码云创建应用填入信息, 创建应用
复制应用的
Client ID,Client Secret, 保存到vue项目在
vite.config.js配置server在
oauth/index.vue编写跳转链接完善
oauth/redirect.vue页面 这里特别要注意.网上多数用axios直接向gitee请求是会报错promise error,因为多数Oauth平台获取授权的返回值结构体没有code属性,会导致axios不能正常resolve,而走reject
参考
Last updated
Was this helpful?