钉钉扫码登录第三方网站

news/2024/5/9 15:32:14/文章来源:https://qiaoyajun.blog.csdn.net/article/details/128240569

一、在public/index.html引入钉钉js

//需注意如果报错DDLogin未定义,需要将此代码放入head中或者body中,放在body-html标签之间有些项目会报错。
<script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>

二、页面使用

<!-- dd登录 -->
<template><div id="login_container"></div>
</template><script>
export default {name: "App",components: {},data() {return {appid: requstUrl.ddAppid,//自己申请的appidappsecret: requstUrl.ddAppsecret,//自己申请的appsecretredirectUrl: requstUrl.redirectUrl,//这里是扫码成功后跳转的回调地址dingCodeConfig: {id: "login_container",//匹配到设置的html的idstyle: "border:none;background-color:#FFFFFF;",width: "400",height: "400",},//生成二维码样式的配置};},computed: {getRedirectUrl() {return encodeURIComponent(this.redirectUrl);},getAuthUrl() {return `https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=${this.appid}&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=${this.getRedirectUrl}`;},getGoto() {return encodeURIComponent(this.getAuthUrl);},},mounted() {const { code } = this.$route.queryif(code){this.handleCodeLogin(this.$route.query)this.ddLoginInit()}else{this.ddLoginInit()};},methods: {//生成钉钉二维码ddLoginInit() {//钉钉扫码流程:扫码成功登录后会自动跳到这个url页面,url路径会携带code,你拿到这个code,调用登录接口成功就跳转。let that = this;//你的项目页面let url = that.getRedirectUrl;let obj = DDLogin({id: "login_container",//这里需要你在自己的页面定义一个HTML标签并设置id,例如<div id="login_container"></div>或<span id="login_container"></span>goto: that.getGoto, //请参考注释里的方式style: "border:none;background-color:#FFFFFF;",width: "400",//官方参数 365height: "400"//官方参数 400});let handleMessage = (event) => {let origin = event.origin;console.log("origin", event.origin);if (origin == "https://login.dingtalk.com") { //判断是否来自ddLogin扫码事件。let loginTmpCode = event.data;//获取到loginTmpCode后就可以在这里构造跳转链接进行跳转了console.log("loginTmpCode", loginTmpCode);//此步拿到临时loginTmpCode换取正式codewindow.location.href = `https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=${that.appid}&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=${url}&loginTmpCode=${loginTmpCode}`}};if (typeof window.addEventListener != 'undefined') {window.addEventListener('message', handleMessage, false);} else if (typeof window.attachEvent != 'undefined') {window.attachEvent('onmessage', handleMessage);}},// 扫码回调登录handleCodeLogin(data) {console.log(data)//获取临时授权code后给后台,获取用户信息},}
};
</script>
<style lang='less' scoped>
#login_container{width: 300px;height: 400px;margin-top: -15px;
}</style>

 三、扫码确认后,重定向的跳转路径后会带上code码

这个code既是临时授权码,根据这个临时码让后台接口去获取永久授权码,再根据永久授权码获取用户的钉钉信息......


详见钉钉官方文档 -->  扫码登录第三方网站 - 钉钉开放平台

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_800107.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从维基百科等网站复制数据和公式到MathType里编辑

在我们写论文的时候&#xff0c;经常会需要用一些实际案例以及数据&#xff0c;而这些数据和案例有很大一部分可以直接在网络上找到。但是有时候也会发现我们想要的内容和公式&#xff0c;从网页上复制粘贴后太模糊&#xff0c;不适合打印和投影。就需要我们将网页上的公式进行…

在IDM上设置防止过度抓取网站信息

在使用Internet Download Manager&#xff08;IDM&#xff09;下载器时&#xff0c;有时会发现IDM自带的抓取功能过于强大&#xff0c;以至于有时会抓取一些无效的链接。那么&#xff0c;该如何避免IDM的过度抓取呢&#xff1f; 图1&#xff1a;IDM的下载任务界面 一、快捷键直…

网站优化策略之CDN加速

前言 「为啥咱们的网站访问那么慢」「网站加载这么慢客户都跑了」「能不能把咱们的网站加载速度提升下」 本文记录的内容「CDN」是解决上面问题的方法之一&#xff0c;也是技术难度&#xff0c;成本相对较低的一种方式。 「问题起源」 首先分析一下网站加载速度慢的原因&#…

有哪些网站是django开发的_商务网站开发有哪些优势?

随着互联网的不断发展&#xff0c;一些企业有了自己的推广网站&#xff0c;如一些农产品网站、一些加工网站、一些服装购买网站等。简而言之&#xff0c;现在有很多种网站&#xff0c;当然也有很多种类型的网站。今天我们要介绍一些商务网站的知识&#xff0c;比如商务网站开发…

python爬取网页数据 ajax_如何爬取通过ajax加载数据的网站

目前很多网站都使用ajax技术动态加载数据&#xff0c;和常规的网站不一样&#xff0c;数据时动态加载的&#xff0c;如果我们使用常规的方法爬取网页&#xff0c;得到的只是一堆html代码&#xff0c;没有任何的数据。 请看下面的代码&#xff1a; url https://www.toutiao.com…

flex 底部固定_小猿圈网站页面底部固定的方法

网络发展到了今天&#xff0c;很多朋友对于网站已经不陌生了&#xff0c;但是当我们看网页时你注意到网站的底部了吗&#xff1f;虽然很少人会注意到他&#xff0c;但是如果不在底部的话&#xff0c;会很难看&#xff0c;今天小猿圈web前端讲师就为你介绍网站页面底部固定的方法…

织梦分页php,织梦DedeCMS网站首页分页插件

织梦DEDECMS首页分页插件下载&#xff0c;一款主要运用用DEDECMS博客模板类的插件。实现首页分页功能。含GBK和UTF8双版本。 后台生成首页 温馨提示 如果你网站以下5个文件做过修改&#xff0c;使用前请备份这5个文件&#xff0c;不然安装插件后会被覆盖&#xff01;&#xff0…

linux mq客户端配置,客户端配置 - IBM MQ运维使用手册_服务器应用_Linux公社-Linux系统门户网站...

六、 客户端配置为方便对部署在linux上的MQ程序进行管理&#xff0c;可以通过在windows端添加远程远程队列管理器的方式进行图形化管理。以为QM1新建远程队列管理器进行图形化管理为例&#xff0c;步骤如下&#xff1a;1. 修改队列管理器QM1访问权限mqmmq:~> strmqm Q…

mac搭建网站服务器,Mac上搭建Web服务器--Apache

局域网搭建 Web 服务器测试环境,因为Mac OS X 自带了 Apache 和 PHP 环境&#xff0c;我们只需要简单的启动它就行了。1.命令&#xff1a;sudo apachectl startApache服务器默认的web根目录在&#xff1a;/Library/WebServer/DocumentsApache的配置文件在&#xff1a;/etc/apac…

java中间件开发 豆瓣_《大型网站系统与Java中间件》读书笔记(上)

前言只有光头才能变强。文本已收录至我的GitHub仓库&#xff0c;欢迎Star&#xff1a;https://github.com/ZhongFuCheng3y/3y这本书买了一段时间了&#xff0c;之前在杭州没带过去&#xff0c;现在读完第三章&#xff0c;来做做笔记豆瓣评分这本书前三章都在科普和回顾中间件/分…

seo自动工具_世界工厂网:星矿关键词库管理 助力企业获取SEO流量

互联网时代&#xff0c;得流量者得天下&#xff0c;这一直是企业线上业务的核心目标。特别是搜索引擎这一领域&#xff0c;是企业开展线上渠道的必争之地。想要抢占这部分流量&#xff0c;企业要做的第一步就是挖掘优质产品关键词搭建优化网站&#xff0c;占领流量高地。但如何…

摄影html网页模板,2017年最新15个漂亮的 HTML 摄影网站模板

摄影是一门艺术&#xff0c;它需要大量的耐心和努力工作来捕捉那些精彩的瞬间。如果你是一位热情的摄影师&#xff0c;想要建立一个网站来展示那些高质量的摄影作品&#xff0c;那么你找对地方了。本文包含15个最佳的摄影网站模板&#xff0c;你可以使用这些 HTML 模板创建自己…

网站设计

这几天和艺术学院的同学交流网站的设计&#xff0c;和各自做了几个作品&#xff0c;感觉和别人的确是存在不小的差距&#xff01; 学习&#xff01; 图一&#xff1a;自己设计的学员展板的简介 图二&#xff1a;李丽的作品 图四&#xff1a;程志伟的作品 图四&#xff1a;赵立文…

从今开始,让网站用Email地址登录

现今&#xff0c;很多Web2.0网站都使用Email地址作为登录用户名&#xff0c;其有如下优点&#xff1a; 1. 不易重复。用户名经常会重复&#xff0c;导致用户不得不在多个网站之间使用多种不同的用户名&#xff0c;不易记忆和管理&#xff1b;而Email地址具有唯一性。 2. …

vue遇到ie兼容问题如何处理_当网站遇到黑链时该如何进行处理?

黑链是指通过非正规手段所获取的反向链接&#xff0c;一些居心不良或者竞争对手们会把黑链挂在你的网站上&#xff0c;从而给网站带来不好的影响&#xff0c;如果处理不及时&#xff0c;还会导致网站被降权降排名&#xff0c;让之前的优化都白费了&#xff0c;那么当网站遇到黑…

房产网站源码 Java_基于jsp的房产网站-JavaEE实现房产网站 - java项目源码

基于jspservletpojomysql实现一个javaee/javaweb的房产网站, 该项目可用各类java课程设计大作业中, 房产网站的系统架构分为前后台两部分, 最终实现在线上进行房产网站各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类房产网站相关的实体进行管理。该房产…

一个网站的诞生- MagicDict开发总结1 [首页]

能够自己拥有一个 个人网站&#xff0c;可能是很多人的梦想。在这个阶级固化的时代&#xff0c;我们需要一个梦想和目标。。。。 由于本职工作不算忙碌&#xff0c;自己对于动手制作网站有兴趣&#xff0c;所以&#xff0c;从去年9月底开始&#xff0c;萌生了制作一个个人网站的…

网站图片全自动加密_网站发布的视频如何禁止下载播放?

即便视频通过一机一码加密工具加密&#xff0c;还是觉得通过网盘、邮箱等给学员或用户传送加密视频太麻烦&#xff1f;想让学员不用下载加密视频本地存储就实现在线观看&#xff1f;这种情况均可以通过搭建视频类网站可实现&#xff0c;但需做好对网站视频加密做好安全防止盗用…

常用的40个网站制作技巧

1. οncοntextmenu"window.event.returnValuefalse" 将彻底屏蔽鼠标右键 <table border οncοntextmenureturn(false)> <td>no </table> 可用于Table 2. <body onselectstart"return false"> 取消选取、防止复制 3. οnpaste&q…

[JavaScript] Firefox 插件开发(网站编辑转发工具)

&#xff10;&#xff18;年 公司为了让网站编辑工作方便&#xff0c;做过这么一个简单转发文章的firefox插件。 功能&#xff1a;在firefox右键菜单&#xff0c;弹出调用页面把当前网页部分内容 Post 到网站中。 代码下载&#xff1a;firefox插件右键转发文章  &#xff08;…