zoukankan      html  css  js  c++  java
  • 网页授权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;
            }
        }

    }

  • 相关阅读:
    http://www.kankanews.com/ICkengine/archives/18078.shtml
    c# ArrayList 的排序问题!
    MVC各种传值方式
    MVC3学习第五章 排山倒海第一变母版页,模型
    MVC3学习第三章 剑出鞘之前奏控制器,URL路由
    MVC3学习第二章 剑出鞘之看剑vs2010安装MVC3和建立你的第一个MVC3项目
    MVC3学习第四章 剑出鞘之后续MVC3的新特性之Razor视图解析
    MVC3学习第一章 掀起它的盖头来
    有关匿名函数执行与传参
    ubuntu12.04安装jdk7u79linuxi586.tar.gz
  • 原文地址:https://www.cnblogs.com/xunfang123/p/4237132.html
Copyright © 2011-2022 走看看