支付宝授权登录淘宝_vue的登录实现

支付宝授权登录淘宝_vue的登录实现api接口文档:https://docs.open.alipay.com/289/105656后台管理系统原本是用账号密码登录的,不过需求要改成支付宝授权,前端仅仅需要改登录页,以及添加一个授权返

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

api接口文档:https://docs.open.alipay.com/289/105656

 

后台管理系统原本是用账号密码登录的,不过需求要改成支付宝授权,

前端仅仅需要改登录页,以及添加一个授权返回页

大致流程:访问首页,因为我们有分(测试,开发)环境的,所以访问支付宝地址以及backurl是从后台获取的

因为在支付宝授权的缓存暂无办法清除,可以搞个中转页,我就不写了。

 授权页

<script>
import { getZFBINfo } from 'api/login';
export default {
data() {
return {}
},
methods: {
handleLogin() {
getZFBINfo().then((res) => {
//backUrl是授权返回页(去后台调支付宝接口获取token和user_id,然后进行用户验证和其他逻辑处理)
const backUrl = encodeURIComponent(res.backUrl)
//url是跳转到支付宝登录页面,然后他会跳转到redirect_uri
const url = res.url + '&scope=auth_base&redirect_uri='+backUrl
window.location.href = url
}).catch((res) => {
console.log('error', res)
})
}
},
creatd() {
//这里是一进页面就会加载的操作,例如执行handleLogin方法
handleLogin();
},
destroyed() {}
}
</script>

授权返回页
<script>
import { getByAuthCode } from 'api/login';//这个方法是去后台接口调支付宝接口获取userid和token,然后进行业务逻辑的处理
import { mapGetters } from 'vuex';
import {
setToken,
removeToken
} from 'utils/auth';
export default {
data() {
return {}
},
computed: {
...mapGetters([
'elements'
])
},created() {
this.getCode()
}, methods: {

getCode() {
//获取当前页面的url
let url = decodeURI(location.href)
let theRequest = new Object()
if (url.indexOf('?') !== -1) {
let str = url.substr(1);
let strs = str.split('&');
for (let i = 0; i < strs.length; i++) {
theRequest[strs[i].split('=')[0]] = decodeURIComponent(strs[i].split('=')[1]);
}
}
if (theRequest.auth_code) {
getByAuthCode(theRequest.auth_code).then((res)=>{
// 获取到token
if(res.data){
setToken(res.data);
this.$store.commit('SET_TOKEN', res.data);
//进入首页
this.$router.replace({path: '/dashboard'})
}else{
alert("用户不存在,请清除缓存重新登录");
//如果有写中转页,可以调到中转页
this.$router.push({path: `/login`})
}
}).catch((res) => {
console.log('error', res)
})
}
}
}
}
</script>





如果扫码登录跳转到这个地方

支付宝授权登录淘宝_vue的登录实现

 

 

 是没有在支付宝管理后台配置

支付宝授权登录淘宝_vue的登录实现

 

 

 

    

     

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166681.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IDEA 2021.7.21 激活码【中文破解版】

    (IDEA 2021.7.21 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月22日
    49
  • 连表查询的介绍_连接表

    连表查询的介绍_连接表1、连表查询的原因(1)如果查询结果不在一个表中,在多个表中,那就需要将表关联,进行连表查询。(2)连表查询大多数都作用在外键得基础上。—表与表之间有关联。2.1表与表之间存在的关系(1)一对多:在多的一方添加外键列(2)多对多:需要创建一个中间表,该表中至少有两个外键列2.2连表查询2.3内连接内连接演示—结果都是一样,只是语法不同。看个人习惯用哪个?1.查询每一个员工的姓名,及关联的部门的名称〔隐式内连接实现)2.查询每一个员工的姓名,及关.

    2022年9月14日
    0
  • byte类型取值范围以及溢出详解

    byte类型取值范围以及溢出详解例1:publicclasstest{ publicstaticvoidmain(String[]args){ bytea=127; a=(byte)(a+3); System.out.println(a); }}输出-126,为什么呢byte类型的取值范围是-128-127这个输出结果是由java编码方式决定的,Java中正数用原码

    2022年6月18日
    42
  • java使用nio读写文件[通俗易懂]

    java使用nio读写文件[通俗易懂]IO原理最近在研究JAVANIO的相关知识,学习NIO,就不能提到IO的原理和事项,必经NIO是基于IO进化而来IO涉及到的底层的概念大致如下:缓冲区操作。2)内核空间与用户空间。3)虚拟内存。4)分页技术一,虚拟存储器虚拟存储器是硬件异常(缺页异常)、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。虚拟存储器的三大…

    2022年5月10日
    54
  • 分水岭算法及案例

    分水岭算法及案例分水岭算法WatershedAlgorithm(分水岭算法),顾名思义,就是根据分水岭的构成来考虑图像的分割。现实中我们可以或者说可以想象有山有湖的景象,那么那一定是水绕山,山围水的情形。当然在需要的时候,要人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山(plateaus)与水的界线,以及湖与湖之间的间隔或都是连通的关系,就是我们可爱的分水岭(watershed)。如果图像中的目标物体是

    2022年6月15日
    26
  • C语言求最大公约数和最小公倍数(思路清晰+拓展)[通俗易懂]

    C语言求最大公约数和最小公倍数(思路清晰+拓展)[通俗易懂]最大公约数的求法首先了解它的一般求法(欧几里得算法):假设存在两个数A和B,假如A%B的结果不为0,那么A和B的最大公约数是B与A%B的最大公约数,一直往下计算,直到后者为0,此时的最大公约数为A’(注意不是A而是A’)。就比如上边的例子,当A%B==0的时候,最大公约数就是B了,这个A’就代表B。最大公约数的代码:(基于C++实现的函数)intgcd(inta,intb){ in…

    2022年5月16日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号