网页授权token

package com.wanhua.weixin.model;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.wanhua.weixin.util.WXConst;
import com.wanhua.weixin.util.WXHttpUtil;

/**
 * 网页授权token
 *
 * @author enway
 *
 */
public class OauthToken {

// 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
    public String access_token;

// 凭证有效时间,单位:秒
    public long expires_in;

// 用户刷新access_token
    public String refresh_token;

// 用户唯一标识
    public String openid;

// 用户授权的作用域,使用逗号(,)分隔
    public String scope;

public int errcode;

public String errmsg;

/**
     * 获取网页授权接口的凭证
     *
     * @param code
     * @return
     * @throws Exception
     */
    public static OauthToken getOauthToken(String code) throws Exception {
        // 请求的url
        String urlStr = String.format(WXConst.URL_GET_OAUTH_TOKEN, code);
        // 请求的结果
        String result = WXHttpUtil.MsgHttpsRequest(urlStr, "POST", null);
        // 网页授权token
        OauthToken oauthToken = JSON.parseObject(result, OauthToken.class);
        if (oauthToken.errcode != 0) {
            throw new Exception("获取凭证失败");
        }
        return oauthToken;
    }

/**
     * 检验授权凭证(access_token)是否有效
     *
     * @param access_token
     * @param openid
     * @return
     */
    public static boolean verifyOauthToken(String access_token, String openid) {
        // 请求的url
        String urlStr = String.format(WXConst.URL_VERIFY_OAUTH_TOKEN, access_token, openid);
        try {
            // 请求的结果
            String result = WXHttpUtil.MsgHttpsRequest(urlStr, "POST", null);
            System.out.println("verify Oauth Token==>" + result);
            // 将请求结果转换成json格式数据
            JSONObject jsonObject = JSON.parseObject(result);
            // 请求结果的状态码
            int code = jsonObject.getInteger("errcode");
            // 请求成功
            if (code == 0) {
                return true;
            } else {
                // 请求失败
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

}

时间: 2024-10-06 05:05:22

网页授权token的相关文章

微信开发之分清公众平台和开放平台、公众号全局凭证和网页授权凭证

虽然公司自己的网站和给客户开发的项目中都涉及到了微信开发,自己也写了关于微信开发的两篇文章,但感觉自己对微信开发中的一些概念还是容易混淆,今天浏览了下微信公众平台.微信开放平台的后台和相关文档,算是弄清楚了下面这些东西,至于其他还没弄清楚的,以后想到了再说. 1,微信公众平台(https://mp.weixin.qq.com)和微信开放平台(https://open.weixin.qq.com) “微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台”,登录公众平台账号后,可以看到它有一

微信网页授权 通过code获取openid 报错40163 code been used

使用好好的微信功能,突然安卓无法正常使用了,苹果的正常. 安卓报错内容: 40163,code been used. 题外话:微信的东西,为何报英文错误呢,装什么13. 实测结果:安卓获取用户信息时 ,触发了两次请求,而苹果只请求一次. 各种搜索,各种尝试,均无效. 沉下来好好想想,再反复测试, 最终发现问题出在获取用户信息的 时候,同一个code在短时间内使用了两次, public function get_access_token($code){ //基础token // $url = "h

分享获取的token 和 网页授权获取的token不一样的 前者不需要缓存也不能缓存

第一步:用户同意授权,获取code,这里获取到的用户的code文档说都是不一样的,2 第二步:通过code换取网页授权access_token,不同的code去请求获得的accessToken是2小时内一样的吗?还是说每个code请求获得的accessToken都是不一样的,要给每个请求获得的accessToken缓存2小时? 每一次访问页面都会获取到code,然后通过code去拿到用户授权网页的accesstoken,然后拿着这个token去获取用户信息,你保存这个token没意义,因为一个c

微信开发 网页授权获取用户基本信息

微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一.什么是OAuth2.0 官方网站:http://oauth.net/   http://oauth.net/2/ 权威定义:OAuth is An open protocol to allow secure authorization in a simple and standard method

微信网页授权认证获取用户的详细信息,实现自动登陆-微信公众号开发干货

原创声明:本文为本人原创作品,绝非他处转账,转载请联系博主 从接触公众号到现在,开发维护了2个公众号,开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开发公众号需要准备或了解什么 web开发工具:官方提供的开发工具,使用自己的微信号来调试微信网页授权.调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入和输出.下载地址:web开发工具下载 开发文档:https://mp.weixin.qq.com/wiki

微信开发之Author网页授权

微信开发中,经常有这样的需求:获得用户头像.绑定微信号给用户发信息.. 那么实现这些的前提就是授权! 1.配置安全回调域名: 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修改授权回调域名,值得注意的是这里就是直接写全域名,如: www.liliangel.cn.然而我们开发h5中一般用的是二级域名,如:h5.liliangel.cn 也同样在安全回调域名中. 2.用户级授权

***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权

本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言.本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息,而无需模拟登录. 在本文中,特别要注意的是有两个不同的Access Token,他们产生的方式不一样,一种是使用AppID和AppSecret获取的access_token,一种是OAuth2.0授权中产生的access_token,方倍工作室分别称为全局Access Token和授权Access

微信公众号开发之网页授权认证获取用户的详细信息,实现自动登陆

原创声明:本文转来源本人另一博客[http://blog.csdn.net/liaohaojian/article/details/70175835]绝非他人处转载 从接触公众号到现在,开发维护了2个公众号,开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开发公众号需要准备或了解什么 web开发工具:官方提供的开发工具,使用自己的微信号来调试微信网页授权.调试.检验页面的 JS-SDK 相关功能与权限,模拟大部分 SDK 的输入

微信公众平台开发(71)OAuth2.0网页授权

微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息 作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一.什么是OAuth2.0 官方网站:http://oauth.net/   http://oauth.net/2/ 权威定义:OAuth is An open protocol to allow secure