码迷,mamicode.com
首页 > 微信 > 详细

微信公众号网页授权登录获取用户基本信息

时间:2019-03-07 22:04:02      阅读:404      评论:0      收藏:0      [点我收藏+]

标签:union   https   authorize   col   -o   体验   encode   body   避免   

发布时间:2018-10-24
 
技术:spring springboot,微信公众号
 

概述

微信公众号网页授权登录后微信获取用户基本信息,部署即可运行完整demo

详细

一、前言

(1)适合人群

1,JAVA服务端开发人员

2,初级人员开发人员

3,了解spring springboot + maven

3,了解公众号开发

 

(2)你需要准备什么?

1,积极主动学习

2,微信公众号开发基本流程

3,java后端几大框架掌握如(spring springboot maven mybatis)

二、前期准备工作

软件环境:日食

官方下载:HTTPS://www.eclipse.org/downloads/

(1)基本需求

实现微信授权登陆带参数获取用户基本信息

(2)项目目录结构

技术图片

三、实现步骤

(1)官方流程 

网页授权流程分为四步:

a、引导用户进入授权页面同意授权,获取code

b、通过code换取网页授权access_token(与基础支持中的access_token不同)

c、如果需要,开发者可以刷新网页授权access_token,避免过期

d、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)

 

1.填写授权回调页面域名

进入测试公众号,在体验接口权限表中找到网页帐号,右侧添加自己的域名,测试公众号可填写本地IP,如你是正式公众号只能填写自己的域名,如果未填写,当进行接口调用时,会提示:redirect_uri参数错误!如果还有其他不了解的配置,可以在开发文档里查看详信息,

技术图片

技术图片

 

2,下面展示访问个人中心时,进行用户授权

	   @RequestMapping("/weixinAutoLogin")
public void weixinAutoLogin(String userId,HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setHeader("Access-Control-Allow-Origin", "*");
/**
*这儿一定要注意!!首尾不能有多的空格(因为直接复制往往会多出空格),其次就是参数的顺序不能变动
**/
String url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + AuthUtil.APPID +
"&redirect_uri=" + URLEncoder.encode(AuthUtil.Notify_url, "UTF-8") +
"&response_type=code" +
"&scope=snsapi_userinfo" +
"&state=" + userId +
"#wechat_redirect";
response.sendRedirect(url);
}

3,在微信打开地址测试 http://ib58jt.natappfree.cc/weixinAutoLogin?userId=1 如图

技术图片

4,用户同意授权后

第一先请求 code:code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。第二步通过刚请求来的 code去请求access_token和openid,第三部就是通过刚获取的access_token和openid来请求用户信息。

 

技术图片

5,下面提供一个内网映射外网,软件下载地址还有教程可以做公众号开发

https://www.toutiao.com/a6470112787753337358/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&timestamp=1534840577&app=news_article&utm_source=weixin&iid=40869406995&utm_medium=toutiao_android&group_id=6470112787753337358

 

我用的是测试号没有可以申请测试一些基本功能微信都有提供

官方链接:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

 

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

微信公众号网页授权登录获取用户基本信息

标签:union   https   authorize   col   -o   体验   encode   body   避免   

原文地址:https://www.cnblogs.com/demodashi/p/10492700.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!