使用python+django集成钉钉三方扫码登陆

\(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\)

1. 进入钉钉开放平台---》点击左下角 ----》移动接入应用----》登陆----》点击创建扫码登陆应用授权。

\(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\)

2. 创建一个网站应用,其中有用的信息是appid,appsecret,还有回调网址 。

\(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\)

3. 根据官方文档构建登陆扫码url。

#构造钉钉登录url

def ding_url(request):

appid = 'dingoaukgkwqknzjvamdqh'#替换成自己的appid

redirect_uri = 'http://localhost:8000/dingding_back/'#替换成自己的回调路由

return redirect('https://oapi.dingtalk.com/connect/qrconnect?appid='+appid+'&response_type=code&scope=snsapi_login&state=STATE&redirect_uri='+redirect_uri)

然后访问http://localhost:7878/ding_url,就可以进行扫码

\(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\)

4. 最后我们编写回调url。将时间戳,秘钥进行hmac加密

import time

import hmac

import base64

from hashlib import sha256

import urllib

import json

#构造钉钉回调方法

def ding_back(request):

#获取code

code = request.GET.get("code")

t = time.time()

#时间戳

timestamp = str((int(round(t * 1000))))

#替换成自己的appSecret

appSecret ='ly-AzMKMmCKQP3geaILT_An32kEfKO3HeOtApy5CgKwjytevVZC0WYsT2gxMB160'

#构造签名

signature = base64.b64encode(hmac.new(appSecret.encode('utf-8'),timestamp.encode('utf-8'), digestmod=sha256).digest())

#请求接口,换取钉钉用户名

payload = {'tmp_auth_code':code}

headers = {'Content-Type': 'application/json'}

res = requests.post('https://oapi.dingtalk.com/sns/getuserinfo_bycode?signature='+urllib.parse.quote(signature.decode("utf-8"))+"&timestamp="+timestamp+"&accessKey=dingoaukgkwqknzjvamdqh",data=json.dumps(payload),headers=headers)#accessKey替换成自己的appid

res_dict = json.loads(res.text)

print(res_dict)

return HttpResponse(res.text)

\(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\)

最后我们访问路由就可以得到自己的个人信息。

python钉钉扫码登录程序_使用python+django集成钉钉三方扫码登陆相关推荐

  1. python钉钉扫码登录程序_钉钉扫码登录网站(两种方式实现)

    钉钉扫码登录网站(两种方式实现) 效果: 动手敲代码! 第一步,钉钉后台配置 点击进入钉钉开发者平台 的页面,点击左侧菜单的[移动接入应用-登录],然后点击右上角的[创建扫码登录应用授权],创建用于免 ...

  2. python用户登录程序_「Python」每日一练:函数的应用之注册登录程序

    编程题 函数的应用之注册登录程序 任务内容:要求模拟系统注册及登录的情境,注册密码要求:密码是6位或以上,必须包涵大写字母.小写字母.数字.程序若未退出前,则一直循环运行. 程序编写要求:按要求完善各 ...

  3. python中函数是一段子程序_用Python来写一个男女相亲小程序|码农的情人节

    功能: 你输入你的性别,年龄,生日,我程序就给匹配一下你喜欢的类型,下面我们具体来讲讲怎么用Python写 第一部分:用户输入部分 1.获取用户的输入:我们用raw_input() args =raw ...

  4. 钉钉扫码登录第三方_在钉钉发布公司重要文件,真的安全吗?

    钉钉以疫情在家办公为契机,加上"幸运地"被教育部"选中",在2月5日,钉钉下载量首次超过微信,跃居苹果App Store排行榜第一,并打破App Store记录 ...

  5. python虚拟机直接加载字节码运行程序_第二章 python如何运行程序

    一.python解释器介绍 Python解释器是一种让程序运行起来的程序.实际上,解释器是代码与机器的计算机硬件之间的软件逻辑层. 当Python包安装在机器上后,它包含了一些最小化的组件:一个解释器 ...

  6. python编写统计选票的程序_使用python编写微信公众号发稿统计程序

    近日为学校公众号统计发稿情况,需统计本年度各部门分别所发稿件标题.时间.作者等. 首先考虑查看公众号后台有无统计功能,看到的界面如下: 每页只显示7天的消息,且没有部门作者信息.再看另一界面: 只统计 ...

  7. python写机器人程序_用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  8. python怎么做软件程序_看 Python 超级程序员使用什么开发工具

    Python超级程序员使用的开发工具 我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发 ...

  9. 微信扫码登录的几秒钟里,到底发生了什么(扫码登录原理)

    事情经过 这天中午,小A吃完午饭,摊在自己的躺椅上,想趁吃饱喝足的午后时间静静享受独自的静谧. 干点什么好呢?小A单手操作鼠标打开了一个陌生而隐秘的网站.正开着某个视频起劲,突然浏览器弹出了一个对话框 ...

最新文章

  1. windows Tensorflow cpu版 指令集加速
  2. webView 点击连接如何不让跳转到系统的 浏览器
  3. 不写画面的网页程序设计,Web API、Web Service、WCF Service
  4. 表的插入、更新、删除、合并操作_17_按照条件删除表中记录
  5. 高性能微服务网关.NETCore客户端Kong.Net开源发布
  6. 【渝粤教育】国家开放大学2018年春季 8664-21T文书档案管理 参考试题
  7. 苹果与高通联合抢占 5G!
  8. java this 代替_关于JAVA中this的使用方法小结
  9. 联网智能设备安全态势季度报告(2021年第2季度)
  10. Linux:文件权限数字形式
  11. 使用python控制其他软件运行并操作处理数据_Python 运行其他程序
  12. goldendict使用 添加 .blg 添加字典
  13. win10自动修复处理方法
  14. BeJSON—实用网站(二)
  15. “比较级”和“最高级”的用法
  16. CheckMarx与SonarQube集成
  17. 孝经白话:三才章第七
  18. 360环视辅助驾驶硬件系统方案---OV2715+DS90UB913+DS90UB914+FPGA
  19. avue 属性说明 及使用
  20. 盘点 Github 上的高仿 app 项目,B站 微博 微信等等

热门文章

  1. 考大学计算机考试作文,机考作文
  2. php定时器使用,PHP定时器的说明
  3. windows server 2008 安装linux,使用WSL在Windows Server 2019上运行Linux的方法
  4. mysql 编辑数据库内容_详解mysql数据库增删改操作
  5. vuedraggable能实现自由拖拽功能吗?_基于 vue.js 仿禅道主页拖拽效果
  6. mysql 5.6.21 rpm_centos_mysql5.6.21_rpm安装
  7. css两列显示,div+css如何控制信息分两列显示?
  8. leetcode刷题:循环队列
  9. C++安全方向openssl:绪论
  10. xssfsheet removerow 剩下空白行怎么处理_糟糕!开瓶时酒塞不小心掉进酒里该怎么处理?...