精华内容
下载资源
问答
  • asp微信登陆asp微信登陆
  • 微信登陆

    2018-08-12 23:21:18
    微信扫码登录 微信分为三个平台:  微信公众平台: 订阅号、服务号、企业号以及小程序给我们提供的服务 微信商户平台: 在这个商户平台不仅提供开发者有关的开发文档,而且提供流水记录和红包等相关的运营策略,...

     

    微信扫码登录

    微信分为三个平台:

      微信公众平台: 订阅号、服务号、企业号以及小程序给我们提供的服务

    微信商户平台: 在这个商户平台不仅提供开发者有关的开发文档,而且提供流水记录和红包等相关的运营策略,所以这里是开发者,运营者,财务的领地!所有使用微信支付,不论是扫码支付,app支付等所有的流水订单都可以在这里找到足迹,为我们的每一笔订单提供对账凭证和查询记录

    微信开放平台: 开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读本接口文档来帮助开发

     

    网站应用微信登录开发指南

    https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN

    网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。
    在进行微信OAuth2.在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。

    授权流程说明

    微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用,从而可实现获取微信用户基本开放信息和帮助用户实现基础开放功能等。
    微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。该模式整体流程为:

    1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
    2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;
    3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
    

    获取access_token时序图:

     

    第一步:请求CODE

    第三方使用网站应用授权登录前请注意已获取相应网页授权作用域(scope=snsapi_login),则可以通过在PC端打开以下链接:
    https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
    若提示“该链接无法访问”,请检查参数是否填写错误,如redirect_uri的域名与审核时填写的授权域名不一致或scope不为snsapi_login。

    参数说明

    参数 是否必须 说明
    appid 应用唯一标识
    redirect_uri 请使用urlEncode对链接进行处理
    response_type 填code
    scope 应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即
    state 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验

     

     第一步配置微信扫码登录相关参数,在springboot的yml配置文件中声明
     

    wechat:
      appId: 自己的数据
      appSecret: 自己申请的数据
      returnURI: http://自己申请配置的域名/后台的collection的上下文路径

     

    返回说明

    用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code和state参数

    redirect_uri?code=CODE&state=STATE
    

    若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数

    redirect_uri?state=STATE

     

    第二步建一个微信的config配置类,来引入微信的相关数据

    @Component
    @ConfigurationProperties(prefix = "wechat")
    public class WeChatConfig {
        private String appId;
        private String appSecret;
        private String returnUri;
    
        public String getAppId() {
            return appId;
        }
    
        public void setAppId(String appId) {
            this.appId = appId;
        }
    
        public String getAppSecret() {
            return appSecret;
        }
    
        public void setAppSecret(String appSecret) {
            this.appSecret = appSecret;
        }
    
        public String getReturnUri() {
            return returnUri;
        }
    
        public void setReturnUri(String returnUri) {
            this.returnUri = returnUri;
        }
    }
    

     

    第三步配置controller层

    @Controller
    @RequestMapping("/WeChat")
    public class WeChatController {
        @Autowired
        WeChatConfig weChatConfig;
    
        @RequestMapping("/login")
        public String login(HttpServletResponse response) {
            /**1.构造生成微信登录二维码所需要的参数
             * https://open.weixin.qq.com/connect/qrconnect?
             * appid=APPID&redirect_uri=REDIRECT_URI&response_type=code
             * &scope=SCOPE&state=STATE#wechat_redirect
             */
            StringBuilder getCodeUrl = new StringBuilder("https://open.weixin.qq.com/connect/qrconnect?");
            try {
                getCodeUrl.append("appid=").append(weChatConfig.getAppId()).append("&")
                        .append("redirect_uri=").append(URLEncoder.encode(weChatConfig.getReturnURI(),"UTF-8")).append("&")
                        .append("response_type=code").append("&")
                        .append("scope=snsapi_login").append("&")
                        .append("state=STATE#wechat_redirect");
    
            } catch (Exception e) {
                e.printStackTrace();
            }
    
                //2.对生成二维码连接发出HTTP请求
                //如果APPID,redirectURI正确那么微信平台就会重定向到 redirect_uri?code=CODE&state=STATE
            return "redirect:"+getCodeUrl.toString();
    
        }

     

    第四步接收微信返回的临时code,如果用户通过授权,那么信平台正常返回,会有一个access_token,那么就代表授权成功,可以获取用户的基本信息(头像,昵称...)

    这里可以看授权后接口调用(UnionID)https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316518&token=&lang=zh_CN

    获取用户个人信息(UnionID机制)

    接口说明

    此接口用于获取用户个人信息。开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。请注意,在用户修改微信头像后,旧的微信头像URL将会失效,因此开发者应该自己在获取用户信息后,将头像图片保存下来,避免微信头像URL失效后的异常情况。

    请求说明

    http请求方式: GET
    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
    

    参数说明

    参数 是否必须 说明
    access_token 调用凭证
    openid 普通用户的标识,对当前开发者帐号唯一
    lang 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语,默认为zh-CN

    返回说明

    正确的Json返回结果:

    {
    "openid":"OPENID",
    "nickname":"NICKNAME",
    "sex":1,
    "province":"PROVINCE",
    "city":"CITY",
    "country":"COUNTRY",
    "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
    "privilege":[
    "PRIVILEGE1",
    "PRIVILEGE2"
    ],
    "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
    
    }
    参数 说明
    openid 普通用户的标识,对当前开发者帐号唯一
    nickname 普通用户昵称
    sex 普通用户性别,1为男性,2为女性
    province 普通用户个人资料填写的省份
    city 普通用户个人资料填写的城市
    country 国家,如中国为CN
    headimgurl 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空
    privilege 用户特权信息,json数组,如微信沃卡用户为(chinaunicom)
    unionid 用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。

    建议:

    开发者最好保存用户unionID信息,以便以后在不同应用中进行用户信息互通。

    错误的Json返回示例:

    {
    "errcode":40003,"errmsg":"invalid openid"
    }

     下面是代码内容

     

        @RequestMapping("/callback")
        public String callback(String code, Model model) {
            //System.out.println("code="+code);//当微信用户授权之后,微信会对配置redirectURI发出请求:http://freedom.s1.natapp.cc/WeChat/callback?code=CODE&state=STATE
                                               //微信会携带code参数,我们下面用这个code
    
            //1.发出HTTP请求,携带code参数,最终从响应中获取access_token
            //https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
            StringBuilder getAccessTokenUrl = new StringBuilder("https://api.weixin.qq.com/sns/oauth2/access_token?");
            getAccessTokenUrl.append("appid=").append(weChatConfig.getAppId()).append("&")
                             .append("secret=").append(weChatConfig.getAppSecret()).append("&")
                             .append("code=").append(code).append("&")
                             .append("grant_type=authorization_code");
            String responseJson = UrlUtils.loadURL(getAccessTokenUrl.toString());
            Map<String,String> responseParams = JSONObject.parseObject(responseJson, Map.class);
    
    
            //2.通过换取的access_token以及opendid来获取用户的基本信息
            //https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
            StringBuilder getUserInfoUrl = new StringBuilder("https://api.weixin.qq.com/sns/userinfo?");
            getUserInfoUrl.append("access_token=").append(responseParams.get("access_token")).append("&")
                          .append("openid=").append(responseParams.get("openid"));
    
            String userJson = UrlUtils.loadURL(getUserInfoUrl.toString());
            Map<String,String> map = JSONObject.parseObject(userJson, Map.class);
    
            return "redirect:/index.html";
        }

     

     

    还有一个UrlUtils的工具类类

    /**
     * 本类提供了对URL所指向的内容的加载操作
     * @author hduser
     *
     */
    public class UrlUtils {
    
    	/**
    	 * 获取url网址返回的数据内容
    	 * @param urlStr
    	 * @return
    	 */
    	public static String loadURL(String urlStr){
    		try{  
    	        URL url = new URL(urlStr);  
    	        HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();	              
    	        urlConnection.setRequestMethod("GET");  
    		    urlConnection.connect(); 	          
    		    InputStream inputStream = urlConnection.getInputStream(); 
    		    String responseStr = ConvertToString(inputStream);  
    		    return responseStr;
    		}catch(IOException e){  
    		    e.printStackTrace(); 
    		    return null;
    		}
    	}
    	private static String ConvertToString(InputStream inputStream){  
    	    InputStreamReader inputStreamReader = new InputStreamReader(inputStream);  
    	    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);  
    	    StringBuilder result = new StringBuilder();  
    	    String line = null;  
    	    try {  
    	        while((line = bufferedReader.readLine()) != null){  
    	            result.append(line + "\n");  
    	        }  
    	    } catch (IOException e) {  
    	        e.printStackTrace();  
    	    } finally {  
    	        try{  
    	            inputStreamReader.close();  
    	            inputStream.close();  
    	            bufferedReader.close();  
    	        }catch(IOException e){  
    	            e.printStackTrace();  
    	        }  
    	    }  
    	    return result.toString();  
    	}  
    }
    

     

     

    展开全文
  • Delphi微信登陆

    2020-11-24 19:00:35
    【Delphi 微信登陆】扫描登陆二维码,即可获取微信的openid,实现微信授权登陆。
  • 本demo为微信登陆,微信支付源码,复制到工程里,做点小修改就可以使用,有问题请留言
  • 最近碰到很多同学反馈微信登陆失败,提示语未,“由于应用universal link校验不通过,无法完成微信登陆” 具体情况如下图: 图1.jpg 图2.jpg 这是因为微信在6月1日之后会限制旧版本SDK的一些功能(具体文档),而...

    简介

    最近碰到很多同学反馈微信登陆失败,提示语未,“由于应用universal link校验不通过,无法完成微信登陆

    具体情况如下图:
    微信登入错误示例

    这是因为微信在6月1日之后会限制旧版本SDK的一些功能(具体文档),而新版SDK需要添加universal link.

    具体说明在此处

    什么是universal link 呢?

    Universal Link是苹果在WWDC 2015上提出的iOS9的新特性之一,此特性类似于深层链接,并能够方便地通过打开一个Https链接来直接启动您的客户端应用(手机有安装App)。对比起以往所使用的URL Scheme,这种新特性在实现web-app的无缝链接时能够提供极佳的用户体验。

    这具体是一种怎样的情景呢?举个例子,你的用户在微信里面浏览一个你们公司的网页,而此时用户手机也同时安装有你们公司的App;而Universal Link能够使得用户在打开某个详情页时直接打开你的app并到达app中相应的内容页面,从而实施用户想要的操作(例如查看某条新闻,查看某个商品的明细等等)

    universal linkURL Scheme有什么区别呢?
    是两种不同技术的实现,都是通过苹果系统实现。唯一不同的是URL Scheme 配置是通过打包来配置的,而深链是通过安装时请求https地址或者一个文件(内部为json结构),然后注册号https 和 app的对应。相当于URLScheme,调起更准确,universal和App的bundle ID(唯一) 相关联,所以不会产生冲突。原来的scheme URL应为并不唯一,所以可能会错误调起。(【注:独家推断,为什么苹果要用universal link 替换 URLScheme】)

    微信该次改版,需要做的相关适配

    • 需要做的配置

      1.注册自己的域名,且支持Https
      2.上传文件到自己的域名(一个名为“apple-app-site-association”的json格式非json文件,即无后缀名文件)

    {
      "applinks": {
            "apps": [],
            "details": [
                {
                    "appID": "公司开发者账号的小组ID.包名id",
                    "paths": [ "*" ]
                }
            ]
        }
    }
    

          3.登陆开发者账号,开启该AppId下的关联域名(Associated Domains)功能

    Alt

          4. 在Xcode中配置关联域名

    配置图1

    配置图2
          5. 其他微信SDK 的接入更改 具体文档

    •  综上所述universal link的配置,4 5两步对于iOS开发者来说并不难,但服务端配置就涉及购买域名https购买,以及配置apple-app-site-association。好在有专门的平台能一键完成这样的服务端配置。我自己用的是【Xinstall】的服务(之前用过这家的内测服务),登陆注册以后就可以免费使用了。
      universal link配置

    universal link自动配置

    universal link校验不通过

    展开全文
  • 易语言微信登陆例子

    2018-10-14 19:42:45
    一段易语言微信登陆例子,主要是获取微信登陆后用户头像等信息
  • 提供微信登陆,公众号管理,微信支付,微信消息的全套功能 文档目录 欢迎提交 如果需要单独使用其中的某些模块,可以见的具体模块 如果需要组合在一起可以参考 目录 安装 使用点 sudo pip install weixin-python ...
  • 本篇文章主要是介绍了微信小程序-微信登陆、微信支付、模板消息,具有一定的参考价值,有需要的可以了解一下。
  • 微信登陆demo.php

    2017-11-27 18:11:35
    微信登陆的一个简单的文档代码的的集成 开发者使用时只需要改一下配置就可以进行微信登陆功能的实现 简单好用
  • 网站接入QQ登陆,微信登陆功能,接口模块,主要通过appid和回调函数接口等,实现qq接入,对于qq接入申请材料,需要大家自行准备
  • java微信登陆demo

    2018-02-26 16:22:57
    一个简单的java语言后端微信登陆的demo,如果有需要就拿去吧。。。
  • 仿微信登陆界面

    2015-09-13 15:18:53
    仿微信登陆界面,eclipse工程文件,编码GBA
  • 微信获取好友信息&获取微信聊天信息&微信登陆(通过http抓包)。。。。。。。。。。。。。
  • uniapp授权微信登陆

    2019-12-05 16:51:04
    uniapp授权微信登陆

    uniapp授权微信登陆

    测试平台安卓

    工具
    1. 安卓模拟器(网易的mumu)
    2. 打包工具(HBuilderX)
    3. 微信签名生成工具

    首先微信授权的appid和签名确保与项目保持一致
    撒旦
    通过签名工具获取到签名
    在这里插入图片描述
    html部分

    <button @click="Login()">微信登录</button>
    

    js部分

    				uni.getProvider({
    			        service: 'oauth',
    			        success: function(res) {
    			            console.log(res.provider);
    			            if (~res.provider.indexOf('weixin')) {
    			                uni.login({
    			                    provider: 'weixin',
    			                    success: function(loginRes) {
    			                        console.log('-------获取openid(unionid)-----');
    			                        console.log(JSON.stringify(loginRes));
    			                        // 获取用户信息
    			                        uni.getUserInfo({
    			                            provider: 'weixin',
    			                            success: function(infoRes) {
    			                                console.log('-------获取微信用户所有-----');
    			                                console.log(JSON.stringify(infoRes.userInfo));
    			                            }
    			                        });
    			                    }
    			                });
    						}	
    			        }
    				});
    

    然后点击微信登陆按钮
    在这里插入图片描述
    搞定!!(当然过程不是这么顺利的。十分曲折-_-)

    展开全文
  • 主要介绍了微信小程序调用微信登陆获取openid及java做为服务端示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 企业微信登陆

    2019-04-05 10:52:00
    前记:包括微信和QQ等等OAuth登陆接口,以及各种支付接口未掌握 企业微信登陆流程 转载于:https://www.cnblogs.com/bqwzx/p/10658167.html

    前记:包括微信和QQ等等OAuth登陆接口,以及各种支付接口未掌握

    企业微信登陆流程
    1435114-20190405105038920-1789388691.png

    转载于:https://www.cnblogs.com/bqwzx/p/10658167.html

    展开全文
  • android微信登陆界面

    2014-07-03 10:51:49
    安卓微信登陆界面,可直接部署运行。学习参考必备。
  • UnionID和微信登陆

    2017-04-06 19:44:00
    微信同时开放微信登陆功能的内测和UnionID机制,很多人还不知具体情况,我解释下: 微信登陆功能,拥有微信支付权限的移动应用(App和游戏)和网站,可以申请微信登陆权限。这在我们玩微信游戏时就可以体验到微信...
  • 简单的PC端微信登陆易语言DEMO,学习可以,获取好友,公众号,列表。
  • 粗仿微信登陆界面.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • 主要介绍了python抓取需要扫微信登陆页面的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
  • vue项目+hbuilder打包实现微信登陆
  • 有问题请私信支持thinkphp5微信登陆授权插件
  • 主要介绍了Android调用微信登陆、分享、支付的相关资料,需要的朋友可以参考下
  • 微信登陆,在新建一个微信小程序Hello World项目的时候,就可以看到项目中出现了我们的微信头像,其实这个Hello World项目,就有一个简化版的微信登陆。只不过是,还没有写入到咱们自家的后台中而已。 新建一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,635
精华内容 2,654
关键字:

微信登陆