Пример #1
0
        public bool GetToken3(string appId, int authoType, ref string token)
        {
            //兼容第三方,先获取第三方token,如果获取失败,则判断是否为个人授权
            //个人授权则通过小程序密钥获取token
            GongZhongToken gModel = GetGongZhongToken(appId);

            if (gModel != null && gModel.errcode == "0")
            {
                token = gModel.access_token;
            }
            else
            {
                GetAccessTokenMsg tModel = GetThirthPlatToken(appId);
                if (tModel != null && tModel.obj != null && tModel.isok != -1)
                {
                    token = tModel.obj.access_token;
                }
                else
                {
                    token = tModel?.msg;
                    return(false);
                }
            }

            return(true);
        }
Пример #2
0
        public bool GetToken(XcxAppAccountRelation xcxrelation, ref string token)
        {
            //兼容第三方,先获取第三方token,如果获取失败,则判断是否为个人授权
            //个人授权则通过小程序密钥获取token
            switch (xcxrelation.AuthoAppType)
            {
            case 0:
                GongZhongToken gModel = GetGongZhongToken(xcxrelation.AppId);
                if (gModel != null && gModel.errcode == "0")
                {
                    token = gModel.access_token;
                }
                else
                {
                    token = gModel?.errmsg;
                    return(false);
                }
                break;

            case 1:
                _openType = xcxrelation.ThirdOpenType;
                GetAccessTokenMsg tModel = GetThirthPlatToken(xcxrelation.AppId);
                if (tModel != null && tModel.obj != null && tModel.isok != -1)
                {
                    token = tModel.obj.access_token;
                }
                else
                {
                    token = tModel?.msg;
                    return(false);
                }
                break;
            }
            return(true);
        }
Пример #3
0
        /// <summary>
        /// 通过原始Id 获取authorizer_access_token 不管是小程序还是服务号都有原始Id 唯一的微信那边
        /// </summary>
        /// <param name="user_name"></param>
        /// <returns></returns>
        public static string GetAuthorizer_Access_Token(string url)
        {
            string authorizer_access_token = string.Empty;
            string result = HttpHelper.GetData(url);

            if (result != null)
            {
                GetAccessTokenMsg accessTokenMsg = Newtonsoft.Json.JsonConvert.DeserializeObject <GetAccessTokenMsg>(result);
                if (accessTokenMsg != null && accessTokenMsg.obj != null)
                {
                    if (accessTokenMsg.obj != null)
                    {
                        authorizer_access_token = accessTokenMsg.obj.access_token;
                    }
                }
            }

            return(authorizer_access_token);
        }
Пример #4
0
        /// <summary>
        /// 第三方授权获取小程序token
        /// </summary>
        /// <param name="appId"></param>
        /// <returns></returns>
        public GetAccessTokenMsg GetThirthPlatToken(string appId)
        {
            GetAccessTokenMsg model = new GetAccessTokenMsg();

            model.obj = new AccessTokenModel();

            OpenAuthorizerConfig openConfig = OpenAuthorizerConfigBLL.SingleModel.GetModelByAppids(appId);

            if (openConfig == null)
            {
                model.msg  = "第三方授权:模板还没授权";
                model.isok = -1;
                return(model);
            }

            string url       = GetOpenAuthodModel(openConfig.user_name);
            string resultStr = HttpHelper.GetData(url);

            if (string.IsNullOrEmpty(resultStr))
            {
                model.isok = -1;
                model.msg  = "第三方授权:获取token为空";
                return(model);
            }
            model = JsonConvert.DeserializeObject <GetAccessTokenMsg>(resultStr);
            if (model == null || model.obj == null)
            {
                model.isok = -1;
                model.msg  = "第三方授权:获取token失败";
                return(model);
            }

            if (model.obj.errcode != 0 || string.IsNullOrEmpty(model.obj.access_token))
            {
                model.isok = -1;
                model.msg  = $"第三方授权:{model.obj.errmsg}";
                return(model);
            }

            return(model);
        }