微信扫码登陆(1)—扫码登录流程讲解、获取授权登陆二维码

微信扫码登陆(1)—扫码登录流程讲解、获取授权登陆二维码扫码登录流程讲解、获取授权登陆二维码具体流程可以看微信官网的扫码登录文档地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN其实官方文档已…

大家好,又见面了,我是你们的朋友全栈君。

扫码登录流程讲解、获取授权登陆二维码

具体流程可以看微信官网的扫码登录文档

地址:准备工作 | 微信开放文档

其实官方文档已经讲的非常清楚而且讲的也很明白。

一、扫码登录流程讲解

1、首先准备工作

网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。

在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret

申请微信登录且通过审核后,可开始接入流程。就是你的网站要想实现微信扫码登陆功能首先要在微信备案通过,它才会给你个AppID和AppSecret。

2、时序流程图

微信扫码登陆(1)---扫码登录流程讲解、获取授权登陆二维码

时序图总结流程:

1、用户点击网站微信登陆图标。

2、网站带上AppID和AppSecret和回调域名参数请求微信OAuth2.0授权登陆。

3、第二步通过后,微信返回二维码供用户扫码。

4、用户扫码确定授权。

5、微信带上code参数回调java后端相关接口。

6、java后端获取到code后,在带上带上AppID和AppSecret和code再去调微信接口。

7、获取access_token后就可以解析用户的一些基本信息,比如:微信用户头像、用户名、性别、城市等一些基本参数。

具体接口参数说明看官方文档。

二、获取授权登陆二维码

1、微信登陆接口

@Controller
@RequestMapping("/api/v1/wechat")
public class WechatController {
 
    /**
     * 微信开放平台二维码连接
     */
    private final static String OPEN_QRCODE_URL= "https://open.weixin.qq.com/connect/qrconnect?appid=%s&redirect_uri=%s&response_type=code&scope=snsapi_login&state=%s#wechat_redirect";

    /**
     * 开放平台回调url
     * 注意:test16web.tunnel.qydev.com 域名地址要和在微信端 回调域名配置 地址一直,否则会报回调地址参数错误
     */
    private final static String OPEN_REDIRECT_URL= "http://test16web.tunnel.qydev.com/pub/api/v1/wechat/user/callback1";

    /**
     * 微信审核通过后的appid
     */
    private final static String OPEN_APPID= "wx0255752c69a2d5b";


    /**
     * 拼装微信扫一扫登录url
     */
    @GetMapping("login_url")
    @ResponseBody
    public JsonData loginUrl(@RequestParam(value = "access_page",required = true)String accessPage) throws UnsupportedEncodingException {

        //官方文档说明需要进行编码
        String callbackUrl = URLEncoder.encode(OPEN_REDIRECT_URL,"GBK"); //进行编码

        //格式化,返回拼接后的url,去调微信的二维码
        String qrcodeUrl = String.format(OPEN_QRCODE_URL,OPEN_APPID,callbackUrl,accessPage);

        return JsonData.buildSuccess(qrcodeUrl);
    }
    
}

2、通过调用接口前端获得详细URL地址

微信扫码登陆(1)---扫码登录流程讲解、获取授权登陆二维码

3、访问data数据中URL地址

微信扫码登陆(1)---扫码登录流程讲解、获取授权登陆二维码

成功!

下一步需要做的是用户扫完登陆二维码后,进行回调:http://test16web.tunnel.qydev.com/pub/api/v1/wechat/user/callback1  接口

我只是偶尔安静下来,对过去的种种思忖一番。那些曾经的旧时光里即便有过天真愚钝,也不值得谴责。毕竟,往后的日子,还很长。不断鼓励自己,

天一亮,又是崭新的起点,又是未知的征程(上校12)

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129987.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月26日 下午11:40
下一篇 2022年4月26日 下午11:40


相关推荐

  • word在试图打开文件时遇到错误,一种解决办法[通俗易懂]

    word在试图打开文件时遇到错误,一种解决办法[通俗易懂]1.双击word打开时弹出错误窗口弹出错误,无法打开word;2.解决办法此时右键打开word的属性窗口:选择下面的解除锁定,点击;锁定解除后,就可以正常打开word进行查看了。

    2022年6月4日
    37
  • Fatal error: require(): Failed opening required ‘/www/wwwroot/xxxxxx/public/../thinkphp/start.php

    Fatal error: require(): Failed opening required ‘/www/wwwroot/xxxxxx/public/../thinkphp/start.php项目场景:在CentOS8中安装了宝塔,配置thinkphp5.1版本环境时出了问题,在此之前网站虚拟域名成功配置,能够访问站点创建成功的页面问题描述:在访问tp5默认页面时报错Warning:require():open_basedirrestrictionineffect.File(/home/wwwroot/xxxxxx/thinkphp/start.php)isnotwithintheallowedpath(s):(/home/wwwroot/xxxxxx/pub

    2022年8月22日
    6
  • JAVA8 Stream接口,map操作,filter操作,flatMap操作

    JAVA8 Stream接口,map操作,filter操作,flatMap操作这篇,我们来看Stream的一些中间操作,关于中间操作的一些介绍,可以看《JAVA8stream接口中间操作和终端操作》1,filter操作,我们先看方法的定义Stream<T>filter(Predicate<?superT>predicate);这个方法,传入一个Predicate的函数接口,关于Predicate函数接口定义,可以查看《JAV…

    2022年5月4日
    41
  • SNAT与DNAT

    SNAT与DNAT在 linux 操作系统中 Netfilter 组件是集成在 linux 内核中扩展各种网络服务的结构化底层框架 在内核级提供防火墙功能 内核中选取五个位置放了五个 hook 勾子 function INPUT OUTPUT FORWARD PREROUTING POSTROUTING 而这五个 hookfunction 向用户开放 用户可以通过一个命令工具 iptables 向其写入规则

    2026年3月19日
    3
  • 查看远程连接日志_日志实时输出到前端

    查看远程连接日志_日志实时输出到前端我们一般都是在程序运行的本地电脑使用debugview查看日志输出,但其实debugview也支持C/S模式(服务端-客户端模式)的日志查看方式,通过这种方式我们就可以通过debugview远程查看某一台计算机上的日志输出了。使用方式:1.在远端运行debugview作为服务端。debugview.exe/a在近端(需要查看日志的计算机)运行debugview,点击connect,输入远端

    2025年8月3日
    4
  • DeepSeek+豆包+Kimi降AI率指令合集!全网最全免费降ai教程+省心方案

    DeepSeek+豆包+Kimi降AI率指令合集!全网最全免费降ai教程+省心方案

    2026年3月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号