详解小程序常见的登录方式

详解小程序常见的登录方式

1. 小程序登录

小程序有两种登录方式,一种基于手机号码进行登录,另一种是使用用户在公众号下的唯一标识(openid)进行登录(小程序是公众号的一种).

接下来先讲解下,基于 openid 登录。

1.1 基于 openid 登录

先看下图,描述通过微信小程序提供的 code 换取当前用户在小程序中的唯一标识,详细流程可以参数下图:

接下来通过代码实现下大概流程:

获取 code

uni.login({

success: async (res) => {

if (res.errMsg === 'login:ok') {

const {

data } = await login({

code: res.code,

});

// 保存用户信息

}

},

fail(e) {

uni.showToast({

title: e.message,

});

},

});

服务端接收 code 去微信后台换取对应 openid

// nodejs 部分代码

const {

appid, secret, grant_type } = require('../config/wx');

router.post('/login', (req, res) => {

const {

code } = req.query;

const {

appid, secret, grant_type } = require('../config/wx');

const {

openid } = await request.get('/sns/jscode2session', {

appid,

secret,

js_code: code,

grant_type,

});

});

在数据库中查找对应 openid 是否存在

const {

appid, secret, grant_type } = require('../config/wx');

router.post('/login', (req, res) => {

// 1. 获取 code

const {

code } = req.query;

// 2. 通过 code 获取 openid 和 session_key

const {

相关推荐

运维工程师需要学什么知识(非常详细)零基础入门到精通,看这一篇就够了
中国古代女子发饰:笄、簪、钗、华胜、步摇、篦、钿
几款中医针灸软件推荐
彩票365

几款中医针灸软件推荐

📅 08-22 👁️ 7928