在目前的电商网站中,第三方软件(如微信、qq、微博)往往使用扫码登录功能,避免了输入的繁琐用户名和密码,也可以在用户忘记密码时提供方便的登录方式。本文以QQ登录为例,简单介绍如何在电子商务网站中使用该功能。第三方扫码登录遵循oauth2.0方案,以获取code-->access\_token-->openid为主线。首先在QQ开发平台完成注册申请,获取QQ\_CLIENT\_ID、QQ\_CLIENT\_SECRET、QQ\_REDIRECT\_URI等信息。在商城服务器端新建一个oauth应用;新建一个数据模型,将用户ID和qq的openid关联到一个表中;前期准备工作完成后,开始代码的主线工作-->access\_token-->openid,如下图,服务端获取到openID后,首先检查用户是否已经有一个openID,如果是则跳转到首页完成登录;如果不是,则重定向到绑定接口并将openID呈现到页面。在绑定页面让用户输入手机号、密码、短信验证码,连同openid一起发送给服务器。服务器验证手机号和密码是否合规,短信验证码是否正确。之后服务器通过手机号验证用户是否存在,如果存在则验证密码。验证成功后跳转到首页。如果不存在则创建一个新用户。最后不管用户是否注册,统一操作绑定openid,并将其openid添加到oauth数据库表中,然后保持登录状态,重定向到首页,将用户名写入cookie,回应结果。