예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public override bool CheckLogin()
        {
            string url          = "";
            string AppKey       = "";
            string AppId        = "";
            bool   isOldVersion = false;

            GameChannel gameChannel = ZyGameBaseConfigManager.GameSetting.GetChannelSetting(ChannelType.channelDanle);

            if (gameChannel != null)
            {
                url          = gameChannel.Url;
                isOldVersion = "0.1".Equals(gameChannel.Version);
                GameSdkSetting setting = gameChannel.GetSetting(_retailID);
                if (setting != null)
                {
                    AppKey = setting.AppKey;
                    AppId  = setting.AppId;
                }
            }
            else
            {
                TraceLog.ReleaseWrite("The sdkChannelV2 Danle section is null.");
            }
            string sig    = AMD5(_token + "|" + AppKey);
            string Url    = Url = string.Format("{0}?app_id={1}&mid={2}&token={3}&sig={4}", url, AppId, _mid, _token, sig);
            string result = HttpRequestManager.GetStringData(Url, "GET");

            DanleSDK sdk = null;

            try
            {
                sdk = JsonUtils.Deserialize <DanleSDK>(result);
            }
            catch (Exception ex)
            {
                new BaseLog().SaveLog(ex);
                return(false);
            }
            if (sdk == null || sdk.error_code != 0)
            {
                TraceLog.ReleaseWrite("Danlesdk login fail:{0},request url:{1}", result, Url);
                return(false);
            }

            string[] arr = SnsManager.LoginByRetail(_retailID, sdk.memberId);
            this.UserID     = arr[0];
            this.PassportID = arr[1];
            SessionID       = GetSessionId();
            return(true);
        }
예제 #2
0
파일: LoginMIUI.cs 프로젝트: dongliang/Scut
        public override bool CheckLogin()
        {
            SetParameter("appId", AppId);
            SetParameter("session", _sid);
            SetParameter("uid", _retailUser);
            string sing = GetSign();

            sing = EncryptionManager.HMACSHA1Encrypt(sing, AppKey);
            string urlData = string.Format("appId={0}&session={1}&uid={2}&signature={3}",
                                           AppId,
                                           _sid,
                                           _retailUser,
                                           HttpUtility.UrlEncode(sing)
                                           );

            urlData = Url + "?" + urlData;
            string result = HttpRequestManager.GetStringData(urlData, "GET");

            try
            {
                if (!string.IsNullOrEmpty(result))
                {
                    var sdk = JsonUtils.Deserialize <SDKMIUIError>(result);
                    if (sdk == null || (!string.IsNullOrEmpty(sdk.errcode) && sdk.errcode != "200"))
                    {
                        TraceLog.ReleaseWrite("MIUIsdk login get user info fail:{0},errorCode:{1},request url:{2}", sdk.errMsg,
                                              sdk.errcode, urlData);
                        return(false);
                    }
                    string[] arr = SnsManager.LoginByRetail(_retailID, _sid);
                    this.UserID     = arr[0];
                    this.PassportID = arr[1];
                    QihooUserID     = _sid;
                    SessionID       = GetSessionId();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                new BaseLog().SaveLog(ex);
                return(false);
            }
        }
예제 #3
0
        public override bool CheckLogin()
        {
            string url          = "";
            string AppKey       = "";
            string AppId        = "";
            bool   isOldVersion = false;
            var    sec          = SdkSectionFactory.SectionDanleV2;

            if (sec != null)
            {
                url          = sec.Url;
                isOldVersion = sec.IsOldVersion;
                var els = sec.Channels[_retailID];
                AppKey = els.AppKey;
                AppId  = els.AppId;
            }
            else
            {
                TraceLog.ReleaseWrite("The sdkChannelV2 Danle section is null.");
            }
            string sig    = AMD5(_token + "|" + AppKey);
            string Url    = Url = string.Format("{0}?app_id={1}&mid={2}&token={3}&sig={4}", url, AppId, _mid, _token, sig);
            string result = HttpRequestManager.GetStringData(Url, "GET");

            DanleSDK sdk = null;

            try
            {
                sdk = JsonUtils.Deserialize <DanleSDK>(result);
            }
            catch (Exception ex)
            {
                new BaseLog().SaveLog(ex);
                return(false);
            }
            if (sdk == null || sdk.error_code != 0)
            {
                TraceLog.ReleaseWrite("Danlesdk login fail:{0},request url:{1}", result, Url);
                return(false);
            }

            string[] arr = SnsManager.LoginByRetail(_retailID, sdk.memberId);
            this.UserID     = arr[0];
            this.PassportID = arr[1];
            SessionID       = GetSessionId();
            return(true);
        }
예제 #4
0
        /// <summary>
        /// 子类实现Action处理
        /// </summary>
        /// <returns></returns>
        public override bool TakeAction()
        {
            var user = Current.User;

            if (user != null)
            {
                AccessToken360 = user.Token ?? AccessToken360;
            }
            string appKey    = "";
            string appSecret = "";
            string url       = "{0}?grant_type=refresh_token&refresh_token={1}&client_id={2}&client_secret={3}&scope={4}";

            GameChannel gameChannel = ZyGameBaseConfigManager.GameSetting.GetChannelSetting(ChannelType.channel360);

            if (gameChannel != null)
            {
                GameSdkSetting setting = gameChannel.GetSetting(RetailID);
                if (setting != null)
                {
                    appKey    = setting.AppKey;
                    appSecret = setting.AppSecret;
                    url       = string.Format(url, gameChannel.TokenUrl, RefeshToken, appKey, appSecret, Scope);
                }
            }
            string result   = HttpRequestManager.GetStringData(url, "GET");
            var    getToken = JsonUtils.Deserialize <Login360_V2.SDK360GetTokenError>(result);

            if (getToken != null && !string.IsNullOrEmpty(getToken.error_code))
            {
                ErrorCode = Language.Instance.ErrorCode;
                ErrorInfo = Language.Instance.GetAccessFailure;
                TraceLog.WriteError("获取360 access_token 失败:url={0},result={1},error_code={2},error={3}", url, result,
                                    getToken.error_code, getToken.error);
                return(false);
            }
            if (getToken != null)
            {
                AccessToken360 = getToken.access_token;
                user.Token     = AccessToken360;
            }
            return(true);
        }
예제 #5
0
        public override bool TakeAction()
        {
            var user = GetUser();

            if (user != null)
            {
                AccessToken360 = user.Token360 ?? AccessToken360;
            }
            var    sec       = SdkSectionFactory.Section360;
            string appKey    = "";
            string appSecret = "";
            string url       = "{0}?grant_type=refresh_token&refresh_token={1}&client_id={2}&client_secret={3}&scope={4}";

            if (sec != null)
            {
                var els = sec.Channels[RetailID];
                if (els != null)
                {
                    appKey    = els.AppKey;
                    appSecret = els.AppSecret;
                    url       = string.Format(url, sec.GetAceessTokenUrl, RefeshToken, appKey, appSecret, Scope);
                }
            }
            string result   = HttpRequestManager.GetStringData(url, "GET");
            var    getToken = JsonUtils.Deserialize <Login360_V2.SDK360GetTokenError>(result);

            if (getToken != null && !string.IsNullOrEmpty(getToken.error_code))
            {
                ErrorCode = LanguageHelper.GetLang().ErrorCode;
                ErrorInfo = LanguageHelper.GetLang().GetAccessFailure;
                TraceLog.WriteError("获取360 access_token 失败:url={0},result={1},error_code={2},error={3}", url, result,
                                    getToken.error_code, getToken.error);
                return(false);
            }
            if (getToken != null)
            {
                AccessToken360 = getToken.access_token;
                user.Token360  = AccessToken360;
            }
            return(true);
        }
예제 #6
0
파일: LoginAnySdk.cs 프로젝트: suncle/Scut
        public override bool CheckLogin()
        {
            AccessToken = _token;
            string urlData = string.Format("{0}?access_token={1}",
                                           Url,
                                           AccessToken
                                           );
            string result = HttpRequestManager.GetStringData(urlData, "POST");

            try
            {
                if (!string.IsNullOrEmpty(result))
                {
                    var sdk = JsonUtils.Deserialize <AnySDKResult>(result);
                    if (!string.IsNullOrEmpty(sdk.data.error))
                    {
                        TraceLog.ReleaseWrite("360sdk login get user info fail:{0},errorCode:{1},request url:{2}", sdk.data.error,
                                              sdk.data.error_no, urlData);
                        return(false);
                    }
                    string[] arr = SnsManager.LoginByRetail(_retailID, sdk.data.id);
                    this.UserID     = arr[0];
                    this.PassportID = arr[1];
                    QihooUserID     = sdk.data.id;
                    SessionID       = GetSessionId();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                new BaseLog().SaveLog(e);
                return(false);
            }
        }
예제 #7
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public override bool CheckLogin()
        {
            string getAccessTokenUrl = string.Format("{0}?grant_type=authorization_code&code={1}&client_id={2}&client_secret={3}&redirect_uri=oob",
                                                     _aceessTokenUrl,
                                                     _code,
                                                     AppKey,
                                                     _appSecret);
            string resultGetToken = HttpRequestManager.GetStringData(getAccessTokenUrl, "GET");

            if (!string.IsNullOrEmpty(resultGetToken))
            {
                var sdkGetToken = JsonUtils.Deserialize <SDK360GetTokenError>(resultGetToken);
                if (!string.IsNullOrEmpty(sdkGetToken.error_code))
                {
                    TraceLog.ReleaseWrite("360sdk login get token fail:{0},errorCode:{1},request url:{2}", sdkGetToken.error,
                                          sdkGetToken.error_code, getAccessTokenUrl);
                    return(false);
                }
                AccessToken = sdkGetToken.access_token;
                RefeshToken = sdkGetToken.refresh_token;
                Scope       = sdkGetToken.scope;
                ExpiresIn   = Convert.ToInt32(sdkGetToken.expires_in);
            }
            else
            {
                return(false);
            }
            string urlData = string.Format("{0}?access_token={1}",
                                           Url,
                                           AccessToken
                                           );

            string result = HttpRequestManager.GetStringData(urlData, "GET");

            try
            {
                if (!string.IsNullOrEmpty(result))
                {
                    var sdk = JsonUtils.Deserialize <SDK360Error>(result);
                    if (!string.IsNullOrEmpty(sdk.error_code))
                    {
                        TraceLog.ReleaseWrite("360sdk login get user info fail:{0},errorCode:{1},request url:{2}", sdk.error,
                                              sdk.error_code, urlData);
                        return(false);
                    }
                    string[] arr = SnsManager.LoginByRetail(_retailID, sdk.id);
                    this.UserID     = arr[0];
                    this.PassportID = arr[1];
                    QihooUserID     = sdk.id;
                    SessionID       = GetSessionId();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                new BaseLog().SaveLog(ex);
                return(false);
            }
        }