微信小程序登录流程总结

目录

1.1. 前端调用wx.login 。。给后端传递一个code 1

1.2. 开发者需要在开发者服务器后台调用 auth.code2Session,使用 code 换取 openid 和 session_key 等信息 1

1.2.1. 请求地址 2

1.2.2. 请求参数 2

2. 登录流程图 2

  1. 前端调用wx.login 。。给后端传递一个code

wx.login({

success(res) {

if (res.code) {

// 发起网络请求

wx.request({

url: 'https://test.com/onLogin',

data: {

code: res.code

}

})

} else {

console.log('登录失败!' + res.errMsg)

}

}

})

  1. 开发者需要在开发者服务器后台调用 auth.code2Session,使用 code 换取 openid 和 session_key 等信息

登录凭证校验。通过 wx.login() 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。更多使用方法详见 小程序登录。

  1. 请求地址

GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

  1. 请求参数

属性

类型

默认值

必填

说明

appid

string

小程序 appId

secret

string

小程序 appSecret

js_code

string

登录时获取的 code

grant_type

string

授权类型,此处只需填写 authorization_code

返回参数 参数 说明 openid 用户唯一标识 session_key 会话密钥 expires_in 过期时长(默认7200)

  1. Code

/springboothelloword

package springboothelloword;

import java.io.IOException;

import java.util.Map;

import javax.servlet.ServletRequest;

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

import org.apache.http.client.ClientProtocolException;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.util.EntityUtils;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import com.alibaba.fastjson.JSON;

import com.google.common.collect.Maps;

@RestController

@EnableAutoConfiguration

public class Example {

// http://localhost:8080/jscode2session?code=xxxx

@RequestMapping("/jscode2session") // 登录

public String jscode2session(HttpServletRequest req) throws ClientProtocolException, IOException {

String code = req.getParameter("code");

String url = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code";

url=url.replaceAll("JSCODE", code);

// 执行get请求.

CloseableHttpResponse response = HttpClients.createDefault().execute(new HttpGet(url));

// 获取响应实体

String html = EntityUtils.toString(response.getEntity());

return html;

}

  1. 登录流程图

微信小程序登录流程总结 目录 1.1. 前端调用wx.login 。。给后端传递一个code 1 1.2. 开发者需要在开发者服务器后台调用 auth.code2Session,使用 code 换取相关推荐

  1. 微信小程序-微信小程序登录流程(一)

    微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或搜一下即可打开应用 冷启动: ...

  2. 微信小程序登录流程+介绍wx.login和auth.code2Session

    微信小程序登录流程+介绍wx.login和auth.code2Session 几个核心API和核心字段 wx.login() 调用接口获取登录凭证(code) code2Session 登录凭证校验, ...

  3. Python Flask微信小程序登录流程及登录api实现代码

    1.小程序端调用wx.login 2.判断用户是否授权 3.小程序端访问 wx.getUserInfo 4.小程序端js代码:+ wx.login({success: resp => {// 发 ...

  4. Python-Flask微信小程序登录流程详解及后台实现

    文章目录 登录流程图及个人理解 登录接口源码 登录流程图及个人理解 1.前端将由wx.login()方法获取到的用户临时登录凭证code(只能使用一次)传给后台服务器(即登录接口) 2.后台利用微信小 ...

  5. 微信小程序登录流程php,微信小程序登录流程​

    对于小程序的登录流程微信官方文档也有描述不清的情况,作为一个后端开发研究了小程序关于登录的所有信息对整个登录流程做一个梳理. 首先明确一点,这里指的小程序登录时wx.login(),并不是授权获取用户 ...

  6. 微信小程序登录流程,双登录,手机号登录和账户密码登录

    一.第一步: 在app.js文件中调用wx.login方法发送res.code和appid给后台,后台返回openid和session_key,把openid和session_key存入storage ...

  7. SpringBoot实现微信小程序登录功能

    SpringBoot实现微信小程序登录 微信小程序登录流程 登录流程图 前端代码 后端代码 微信小程序登录流程 微信小程序官方文档:微信小程序官方文档 第一次学习微信小程序的登录,以前也好奇微信小程序 ...

  8. android微信登录获取微信账号,微信小程序--登录授权,一键获取用户微信手机号并登录...

    一.前言 微信小程序登录流程时序 说明: 小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器 开发者服务器以code换取 用户唯一标识openid 和 会话密钥sess ...

  9. springBoot+微信小程序登录

    微信小程序登录流程 微信小程序登录流程涉及到三个角色:小程序.开发者服务器.微信服务器 三者交互步骤如下: 第一步:小程序通过wx.login()获取code. 第二步:小程序通过wx.request ...

  10. Java 微信小程序登录

    前言 服务端微信小程序登录流程. 1.微信小程序获取token @Value("${wechat.mini.appid}")private String wechatAppId;@ ...

最新文章

  1. 在SQL Server中保存和输出任意类型的文件
  2. 官方翻译不当导致的PowerShell运行失败一例
  3. pyecharts 应用6 三维曲面图
  4. [云炬创业基础笔记] 第四章测试13
  5. android odex版本调试_Android可执行文件之谜 - DEX与ODEX, OAT与ELF
  6. modelandview 可以返回html么_python爬虫反反爬,你几乎可以横扫大部分 css 字体加密的网站...
  7. Android 4.4及以上系统下应用的状态栏颜色渐变效果的实现
  8. 一文看懂JUC之AQS机制
  9. The Number of Products
  10. oracle更新数据还原,oracle误drop/update操作后的数据恢复测试
  11. 解决IE浏览器URL乱码的问题
  12. 10.性能之巅 洞悉系统、企业与云计算 --- 网络
  13. IM开发通信协议基础知识(一)---TCP、UDP、HTTP、SOCKET
  14. 诺基亚N9手机升级后PR1.3后反应迟钝、发热、耗电快的问题
  15. 理正深基坑6.0软件备忘录_梳理使用方法01
  16. 必备的查询网址:查征信、婚姻、交友借钱明明白白
  17. android notification应用之自定义来电通知
  18. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记二(5):Cortex-M3处理器能量管理
  19. Kubectl debug 调试容器
  20. 安卓和ios的app测试有什么区别?

热门文章

  1. linux web接口返回乱码,【bug】测试环境的API接口,返回内容为乱码
  2. latex做ppt_用Markdown可以做什么
  3. 软件从“出生”到“消亡”的过程称为_软件测试面试最常问到的101个面试问题,你中枪了吗?(一)...
  4. php fpm mysql 长链接_PHP Mysql数据库 长链接 短链接 (连接池 ?)
  5. 1、http网络编程——URL、CURL、CURLcode和curl_slist
  6. SpringCloud学习5-如何创建一个服务提供者provider
  7. Angular学习笔记06——钩子
  8. 腾讯微博-转播到微博的简单使用
  9. 令人蛋疼的错误提示 0xcdcdcdcd ,0xdddddddd ,0xfeeefeee ,0xcccccccc ,0xabababab
  10. ubuntu 安装node.js