如何用微信二维码登录自己的网站

一、当用户选择用微信二维码登录时,我们要在用户页面里生成一个guid做为客户端的唯一标识,然后带着这个guid请求二维码图片地址,得到地址后,显示给用户。请求到后台的时候要将此二维码的Key和客户端的guid关联到一起。注意这个key的生成方式,要保证多人同时用二维码登录而不冲突,比如用10000自增,隔断时间又重置到10000。

二、得到二维码后,马上发出长链接请求登录标识(即cookie),请求也要带客户端的guid。在写此文之前听一同事说Discuz!已实现了二维码登录,我更看一下,和我的思路应该是一样的,不过他们用的是轮询的方式,但效果没长链接好,没这个及时。

三、用户扫描二维码后,我们可以在实现的通知接口里得到这个事件消息,消息里的FromUserName一般就是我们绑定第三方的openid,根据这个我们可以查出绑定用户的userid,即cookie,再用二维码的key,得到未返回的长链接,然后把userid返回,把长链接相关的东西清除。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/web/Skills/

异步请求结果类:

public class QRLoginManager
    {
        public static Dictionary<string, MyAsyncResult> RequestDict = new Dictionary<string, MyAsyncResult>();

    }
    public class MyAsyncResult : IAsyncResult
    {
        //这个接口的实现
        public object AsyncState { get; private set; }
        public System.Threading.WaitHandle AsyncWaitHandle { get; private set; }
        public bool CompletedSynchronously { get { return false; } }
        public bool IsCompleted { get; private set; }
        //一些参数
        public HttpContext Context { get; set; }
        public AsyncCallback CallBack { get; set; }
        /// <summary>
        /// 客户端唯一标识
        /// </summary>
        public string ClientGuid { get; set; }
        /// <summary>
        /// 最终要的标识数据
        /// </summary>
        public string UserID { get; set; }

        //构造函数
        public MyAsyncResult(HttpContext context, AsyncCallback cb, string clientGuid)
        {
            this.ClientGuid = clientGuid;
            this.Context = context;
            this.CallBack = cb;
        }

        public void SetCompleted(bool iscompleted)
        {
            this.IsCompleted = iscompleted;
            if (iscompleted && this.CallBack != null)
            {
                CallBack(this);
            }
        }

    }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索登录
, 二维码
, 微信获取用户openid
, get
, 微信第三方登录
, 用户
, public
, 二维码 实现
, 微信二维码 https链接
, 唯一登录
, 二维码,参数
, 标识
, 二维码登录代码
带参数的二维码
,以便于您获取更多的相关知识。

时间: 2024-11-02 13:53:19

如何用微信二维码登录自己的网站的相关文章

微信扫描二维码登录网站技术原理

微信扫描二维码登录网站 网站应用微信登录开发指南   微信扫描二维码登录网站是微信开放平台下网站应用的一种接口实现的功能.微信开放平台的网址是 https://open.weixin.qq.com 准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开

第三方网站微信扫二维码登录的功能如何实现的?

问题描述 第三方网站微信扫二维码登录的功能如何实现的? 想做一个类同蘑菇街网站的微信扫二维码登录的功能,看下面的地址发现是腾讯QQ的地址,但是查不到任何的API,特别是二维码是在QQ的服务器上生成的,我找不到相应的API说明!也不是OAuth2.0网页授权模式实现的,请高人指点:这个是否是腾讯特意为合作商开的权限?https://open.weixin.qq.com/connect/qrconnect?appid=wx4530e35e8a9fc5cd&redirect_uri=http://ww

js微信扫描二维码登录网站技术原理_javascript技巧

微信扫描二维码登录网站是微信开放平台下网站应用的一种接口实现的功能.微信开放平台的网址是https://open.weixin.qq.com 准备工作 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统. 在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程. 授权流程说明 微信OAuth2.0授权登录

微信QQ的二维码登录原理js代码解析_javascript技巧

在很多地方就是都出现了使用二维码登录,二维码付款,二维码账户等应用(这里的二维码种马,诈骗就不说了),二维码验证,多终端辅助授权应用开始多起来,这里先说下啥是二维码,其实二维码就是存了二进制数据的黑白图片,当出现要求二维码登录的时候,服务器会生成一条临时的唯一的二维码信息,发送到客户端以二维码(图片)的形式写入到网页,然后你就会看到统一的四个方形的二维码,如果做的好这个二维码信息应该是有时效的,这里暂且不考虑这些,就简单的微信登录作为例子看看吧: 首先说下整个授权流程: 在客户端网页中会不断向服

c++-C++客户端 微信二维码登入思路

问题描述 C++客户端 微信二维码登入思路 最近一直在研究C++客户端用微信二维码登入防盗号问题, 一直都没有思路,希望大神如果知道的话提点一下我这种菜鸟,现在主要是没什么思路 解决方案 无非就是服务器产生一个随机数,构成一个二维码,你的手机扫描二维码,登录url,服务器判断是否和生成的随机码一样.二维码的识别可以用zxing 解决方案二: 哪位大神帮帮忙啊,急啊 解决方案三: 无非就是服务器产生一个随机数,构成一个二维码,你的手机扫描二维码,登录url,服务器判断是否和生成的随机码一样.二维码

Java二维码登录流程实现代码(包含短地址生成,含部分代码)_java

近年来,二维码的使用越来越风生水起,笔者最近手头也遇到了一个需要使用二维码扫码登录网站的活,所以研究了一下这一套机制,并用代码实现了整个流程,接下来就和大家聊聊二维码登录及的那些事儿. 二维码原理 二维码是微信搞起来的,当年微信扫码二维码登录网页微信的时候,感觉很神奇,然而,我们了解了它的原理,也就没那么神奇了.二维码实际上就是通过黑白的点阵包含了一个url请求信息.端上扫码,请求url,做对应的操作. 一般性扫码操作的原理 微信登录.支付宝扫码支付都是这个原理: 1. 请求二维码 桌面端向服务

Java二维码登录流程实现代码

近年来,二维码的使用越来越风生水起,笔者最近手头也遇到了一个需要使用二维码扫码登录网站的活,所以研究了一下这一套机制,并用代码实现了整个流程,接下来就和大家聊聊二维码登录及的那些事儿. 二维码原理 二维码是微信搞起来的,当年微信扫码二维码登录网页微信的时候,感觉很神奇,然而,我们了解了它的原理,也就没那么神奇了.二维码实际上就是通过黑白的点阵包含了一个url请求信息.端上扫码,请求url,做对应的操作. 一般性扫码操作的原理 微信登录.支付宝扫码支付都是这个原理: 1. 请求二维码 桌面端向服务

微信二维码的识别原理

问题描述 微信二维码的识别原理 安卓和IOS两个平台微信识别二维码的机制分别是什么?这两个平台解码的步骤是? 解决方案 二维码的原理 解决方案二: 扫到了固定格式二维码,ios就直接跳去store就好了,android直接启动下载就好了 解决方案三: 用xzing这个库,它支持各种平台.算法你就不用管了.

微信二维码扫描后跳转指定页面 如何获取扫描端用户的openid

问题描述 微信二维码扫描后跳转指定页面 如何获取扫描端用户的openid 如题如何,二维码生成用的是QrCode,里面放了一个地址.扫描后可以挑战到二维码中存储的那个地址. 请教一下.我跳转到我指定的请求地址的时候如何获取扫描用户的openid 解决方案 http://blog.csdn.net/fuyifang/article/details/40707517 解决方案二: 什么类型的微信号?认证过的服务号可以用通过网页授权获取,其他类型的实现就比较麻烦了 认证过的看这个:http://mp.