专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-963-0016      微信咨询  |  联系我们

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

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 1:02:30       共计:3663 浏览

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


   在官网上申请一个企业微信,有条件的话做个企业认证吧,我们的是认证过的,所以账号和本地其他系统的账号是统一的.

   在应用中创建一个应用,这个是关键,我们扫码就是和它有关.

   点击打开自建的应用,里面有个企业微信授权登录

   设置好可信的授权回调域名,这个域名需要是通过ICP备案的,生成的二维码扫描后是需要跳转到这个域名上的.

   阅读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;

   }


版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:C#微信公众号开发系列教程五(接收事件推送与消息排重) | ·下一条:Nginx+IIS分布式部署和负载均衡

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有