4.1. 小程序登录详解

小程序登录

这一节我们来详细讲解小程序的登录流程。

流程分析

先来看一下微信提供的时序图:

file

大概看一下流程,很容易想到 OAuth 2.0 的授权码模式,只是稍有区别,结合 LaraBBS 来分析一下流程:

  1. 小程序调用 wx.login() 接口获取临时登录凭证(code),这一步用户是无感知的,无需用户授权;
  2. 小程序提交 code 到 LaraBBS 服务器;
  3. LaraBBS 服务器通过 appidappsecretcode 请求微信接口,换取用户的 session_keyopenid
  4. LaraBBS 服务器根据 openid 查找到对应的用户,存入 session_key,然后为该用户生成 access_token (JWT)返回给小程序。
  5. 有了 access_token 小程序就可以调用 发布话题发布回复修改个人信息 等需要身份认证的接口了。

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 14

xzzzz
使用 EasyWeChat Laravel 5 的拓展包: overtrue/Laravel-wechat 报错?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
xuelong
swap 跑满了
1 个点赞 | 0 个回复 | 问答 | 课程版本 5.5
tont
yarn add promise-polyfill 出错怎么办?
0 个点赞 | 21 个回复 | 问答 | 课程版本 5.5
Hesunfly
小程序登陆报错
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
ZHEN603
tinker 里执行报错?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
JeffLi
请求 weapp/authorizations 接口 JWT 报错了?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
phpfriend_xu
每次看到 Composer require 就头疼
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
taowendi
tinker 报错
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
asdd1a
larabbs 接口中使用 EasyWeChat 出现 500 错误,怎么解决?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
caojianx
我的 code 没有获取成功,undefined?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
stefen
小程序微信登录问题
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
Jason_Lai
注意
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.5