现在好些网站都支持扫码登录,感觉上安全了很多,但是本地程序扫码登录的不多,就用C#实现了一下,需要作如下准备

  1. 在官网上申请一个企业微信,有条件的话做个企业认证吧,我们的是认证过的,所以账号和本地其他系统的账号是统一的.
  2. 在应用中创建一个应用,这个是关键,我们扫码就是和它有关.
  3. 点击打开自建的应用,里面有个企业微信授权登录
  4. 设置好可信的授权回调域名,这个域名需要是通过ICP备案的,生成的二维码扫描后是需要跳转到这个域名上的.
  5. 阅读API文档构造扫码登录链接,用户身份获取等
    上面这些看起来很多,但是如果做过企业微信号程序开发,那么就是设置个域名的事情.

下面转到C#这里,登录界面上放一个webbrowser控件,用于显示扫码登录链接,再放一个图片控件用于显示二维码,等用户扫了二维码后就跳转到自己设置的可信授权域名处作身份验证,验证通过后就自动登录.

private void Form_load_Load(object sender, EventArgs e)
{

  web1.Navigate("https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=wxc&agentid=1000002&redirect_uri=http://wx.qq.com.cn/test/load.aspx&state=STATE");

}

private void web1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{

        if (count == 1) {foreach (HtmlElement he in web1.Document.GetElementsByTagName("img")){string str = he.GetAttribute("className");if (str == "qrcode lightBorder"){pic_code.ImageLocation =he.GetAttribute("src"); //获取微信生成的二维码图片,那个网页中只有两个图片,且二维码是第二张图片.}}}//扫码通过企业微信验证后才会执行下面的代码.通过检测网址中是否包含用户身份的code来判断是否通过了微信验证string url = web1.Url.ToString();string temp = "code";bool Flag = url.Contains(temp);if (Flag == true){cbox_yhm.Text = url;cbox_yhm.Text=web1.Document.GetElementById("L_name").OuterText.ToString();txt_pwd.Text = "123456";web1.Visible = false;button1.PerformClick();}count += 1;}

转载于:https://www.cnblogs.com/wjbych/p/10410313.html

C#实现像微信PC版一样的扫码登录功能相关推荐

  1. 微信电脑版为啥必须扫码登录?这一招太狠了

    最近微博热搜又来新话题,在微博发现#微信电脑版必须扫码的原因#这个话题上了微博热搜. 在仔细逐字看完这个"官方的回复"后,也解开了我多年的疑惑. 上面的意思总结一下,就是下图这样的 ...

  2. 微信PC版近期更新的几个功能,你都会用吗?

    近期PC版微信更新的3.6.0版本更新的几个功能,都非常实用,你都会用吗,今天小编给大家逐一介绍,希望对大家微信使用当中能带来一些帮助! 1.查找和添加微信号 PC端可以加微信好友了,如果要一次性加多 ...

  3. java实现简单扫码登录功能(模仿微信网页版扫码)

    java实现简单扫码登录功能 模仿微信pc网页版扫码登录 使用js代码生成qrcode二维码减轻服务器压力 js循环请求服务端,判断是否qrcode被扫 二维码超时失效功能 二维码被扫成功登录,服务端 ...

  4. 如何实现微信和淘宝的扫码登录

    1.引言 扫码登录这个功能,最早应该是微信的PC端开始搞,虽然有点反人类的功能(不扫码也没别的方式登录),但不得不说还是很酷的. 下面这张图,不管是IM开发者还是普通用户,应该很熟悉: 于是,搞IM产 ...

  5. 如何实现微信和淘宝的扫码登录 ?

    点击上方"阿拉奇学Java",选择"置顶或者星标"  每天早晨07点28分, 与你相约! 来源 | my.oschina.net/u/4231722/blog/ ...

  6. IM要做手机扫码登录?先看看微信的扫码登录功能技术原理

    本文原文由作者Amazing10原创发布于公众号业余码农,收录时有改动,感谢原作者的技术分享. 1.引言 某天中午,吃完午饭,摊在自己的躺椅上,想趁吃饱喝足的午后时间静静享受独自的静谧. 干点什么好呢 ...

  7. 项目整合微信扫码登录功能

    项目整合微信登录功能 一.准备工作 https://open.weixin.qq.com 1.注册 2.邮箱激活 3.完善开发者资料 4.开发者资质认证 准备营业执照,1-2个工作日审批.300元 5 ...

  8. 企业微信三方开发(五):扫码登录

    其他链接 初识微信开发 企业微信三方开发:注册企业微信服务商 企业微信三方开发(一):回调验证及重要参数获取 企业微信三方开发(二):获取access_token 企业微信三方开发(三):网页授权登录 ...

  9. 微信扫码登录功能实现

    原因:很简单,公司的账号登录需要用到微信扫码登录与QQ的登录功能,所以,在做好了微信的扫码登录之后,本人就写这篇微信扫码登录功能实现的教程 教程开始 需要用到的网站: https://open.wei ...

最新文章

  1. pyinstaller python3.7_解决python3.7安装好pyinstaller却不能使用的问题
  2. maven mockito_如何:测试Maven项目(JUnit,Mockito,Hamcrest,AssertJ)中的依赖项
  3. ui li 菜单 点击添加下级_【Qt开发】实现系统托盘,托盘菜单,托盘消息
  4. 视频号的商业想象空间,在前天更新后,会在以下3个方面
  5. 项目经理如何管理团队
  6. [转] VR-FORCES 介绍
  7. 《淘宝网店页面设计、布局、配色、装修一本通(第2版)(全彩)》
  8. 系统运维工程师30岁学python_一名Linux系统运维工程师的自述
  9. CSAPP_Chapter1
  10. NetHunter-Rootless:安卓手机免Root安装Kali NetHunter
  11. Python中使用MySQL
  12. 一个例子搞懂编码问题
  13. Scala(三) 类和特质
  14. OSI7层模型数据分层传输的过程
  15. python随机中文名称生成器。
  16. 关于帧内预测模式的视频隐写代码介绍
  17. 电脑软件下载平台哪个好
  18. 翻译: 自动驾驶 一步一步解释基本的2D自行车模型
  19. html js 地球仪,D3.js 旋转的地球仪
  20. 三个细节鉴别女人的“质地”

热门文章

  1. 【2019牛客暑期多校训练营(第二场) - D】Kth Minimum Clique(bfs,tricks)
  2. 【OpenJudge - noi - 7624】山区建小学(dp)
  3. 【FZU - 2140 】Forever 0.5 (计算几何,构造)
  4. mysql死锁的排查方法_MySQL死锁系列-线上死锁问题排查思路
  5. 微型计算机及接口技术试卷,微机原理及接口技术试题以及答案
  6. oracle 600 侯,oracle在导入数据时报600错误的解决方法
  7. 剑指offer之矩阵中的路径
  8. leetcode61 旋转链表
  9. 傻子都能看懂的马拉车Manacher
  10. UNIX(多线程):25---当前进程的线程哪些数据共享哪些是私有的