现在网站用微信登录真的是很多,那么具体是怎么实现的呢?

首先介绍的是微信开放平台,我们如果需要微信登录或者支付都需要在上面注册一个账号,用这个账号去为我们的网站申请的话,需要用到企业资料(家里有营业执照应该也行,反正不做坏事,影响不大)

微信开放平台介绍(申请里面的网站应用需要企业资料)https://open.weixin.qq.com/

准备工作

网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。
在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。
 

授权流程说明(直接看图比较容易理解,再结合着微信提供的文档,开发起来相对轻松点)

微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用,从而可实现获取微信用户基本开放信息和帮助用户实现基础开放功能等。
微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。该模式整体流程为:
1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;
3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
如果感觉文字比较难理解,看微信登录的时序图吧
获取access_token时序图:

最新文章

  1. 关于django xadmin的学习改造(菜单名称,更改默认前缀数据库)
  2. C++ redirect input
  3. Negative log-likelihood function
  4. 解决IE6下JS动态插入iframe不显示的方法
  5. Java SSH库使用简介:Apache sshd和JSch(Java Secure Channel)
  6. HDU 2767:Proving Equivalences(强连通)
  7. React 万能的函数表达式
  8. PHP中如何获取多个checkbox的值
  9. 单片微机原理P0:80C51结构原理
  10. ubuntu中安装eclipse
  11. Hostker云主机
  12. C语言双向链表
  13. Activiti-03-query api
  14. InfoQ访谈:Webkit和HTML5的现状和趋势
  15. springMVC 实现redis分布式锁
  16. Oracle 12c 的RMAN备份
  17. UI事件
  18. bootstrap----屏幕大小切换
  19. 实现与JS相同的Des加解密算法【转】
  20. es6正则表达式

热门文章

  1. Windows系统如何安装Redis?
  2. loj#6041. 「雅礼集训 2017 Day7」事情的相似度(后缀自动机+启发式合并)
  3. 犯得错误QAQ
  4. $(xx).load()同步
  5. springboot整合mybatis,redis,代码(一)
  6. JAVASCRIPT 使用 && 和 || 完成 简写
  7. python基础语法之基础语法规则以及设置
  8. openmpi-3.0.1超线程报错问题
  9. Codeforces - 915E 离散化区间覆盖
  10. vue实现进入页面表单聚焦