Ejemplo n.º 1
0
        private string UserLoginAndGetMCKey(string mgccAuthKey)
        {
            Logger.Info("进入用户登录:mgccKey为:" + mgccAuthKey);
            var userName  = string.Empty;
            var userPwd   = string.Empty;
            var AesResult = GetAesKey();
            var openid    = _cacheManager.GetCache(AppConsts.Cache_AuthKey2OpenID).GetOrDefaultAsync(mgccAuthKey).Result;

            Logger.Info("用户OPENID为:" + openid);


            Logger.Info("使用默认用户名登录:");
            return(_cacheManager.GetCache(AppConsts.Cache_MCAuthKey).Get <string, string>("DefaultMCAuthKey", c =>
            {
                UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                var EncryptPassword = "";
                try
                {
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                catch
                {
                    AesResult = GetAesKey(true);
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                var result = client.LoginExAsync(new LoginExRequest {
                    UserName = defaultUserName, EncryptPassword = EncryptPassword, DeviceCode = deviceCode
                }).Result;
                return result.AuthKey;
            }));
        }
Ejemplo n.º 2
0
        private async Task <string> DefaultLoginAndGetMCKey()
        {
            var userName  = string.Empty;
            var userPwd   = string.Empty;
            var AesResult = await GetAesKey();

            return(await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).GetAsync <string, string>("DefaultMCAuthKey", async c =>
            {
                UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                var EncryptPassword = "";
                try
                {
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                catch
                {
                    AesResult = await GetAesKey(true);
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                var result = await client.LoginExAsync(new LoginExRequest {
                    UserName = defaultUserName, EncryptPassword = EncryptPassword, DeviceCode = deviceCode
                });
                return result.AuthKey;
            }));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取会员AuthKey
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public async Task <string> GetUserMemberAuthKey(string userName, string password)
        {
            var AesResult = await GetAesKey();

            return((string)await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).GetAsync <string, string>($"{userName}.Activity", async c =>
            {
                UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                var EncryptPassword = "";
                try
                {
                    EncryptPassword = AesCryptoService.Encrypt(password, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                catch
                {
                    AesResult = await GetAesKey(true);
                    EncryptPassword = AesCryptoService.Encrypt(password, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                //获取最新的AuthKey
                var result = await client.LoginExAsync(new LoginExRequest
                {
                    UserName = userName,
                    EncryptPassword = EncryptPassword,
                    DeviceCode = deviceCode
                });
                return result.AuthKey;
            }));
        }
Ejemplo n.º 4
0
        private string GetMemberAuthKey(string mgccAuthKey)
        {
            var AesResult = GetAesKey();
            var openid    = _cacheManager.GetCache(AppConsts.Cache_AuthKey2OpenID).GetOrDefaultAsync(mgccAuthKey).Result;

            if (openid != null)//MgccKey没过期
            {
                var _memberInfo = _mpUserMemberAppService.GetByOpenID(openid.ToString()).Result;
                if (_memberInfo != null)//会员->用会员帐户名登陆
                {
                    Logger.Info("登录的会员信息:" + JsonConvert.SerializeObject(_memberInfo));

                    Logger.Info("会员登录:" + mgccAuthKey);
                    Logger.Info("用户名:" + _memberInfo.MemeberUserName + ",密码:" + _memberInfo.MemberPassword);

                    return((string)_cacheManager.GetCache(AppConsts.Cache_MCAuthKey).Get <string, string>(mgccAuthKey, c =>
                    {
                        UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                        var EncryptPassword = "";
                        try
                        {
                            EncryptPassword = AesCryptoService.Encrypt(_memberInfo.MemberPassword, AesResult.CryptAESKey, AesResult.CryptAESIV);
                        }
                        catch
                        {
                            AesResult = GetAesKey(true);
                            EncryptPassword = AesCryptoService.Encrypt(_memberInfo.MemberPassword, AesResult.CryptAESKey, AesResult.CryptAESIV);
                        }
                        //获取最新的AuthKey
                        var result = client.LoginExAsync(new LoginExRequest
                        {
                            UserName = _memberInfo.MemeberUserName,
                            EncryptPassword = EncryptPassword,
                            DeviceCode = deviceCode
                        }).Result;

                        return result.AuthKey;
                    }));
                }
            }
            return(null);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 美驰默认账号登录并获取美驰authkey
        /// </summary>
        /// <returns></returns>
        private async Task <string> DefaultUserLoginAndGetMCKey(bool getnew = true)
        {
            if (!getnew)
            {
                var mckey = await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).GetOrDefaultAsync("DefaultMCAuthKey");

                if (mckey != null)
                {
                    return((string)mckey);
                }
            }

            UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
            var EncryptPassword        = "";
            var AesResult = await GetDefaultAesKey();

            try
            {
                EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
            }
            catch
            {
                AesResult = await GetDefaultAesKey(true);

                EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
            }
            var result = await client.LoginExAsync(new LoginExRequest { UserName = defaultUserName, EncryptPassword = EncryptPassword, DeviceCode = deviceCode });

            if (result.LoginExResult == 0 && !string.IsNullOrWhiteSpace(result.AuthKey))
            {
                await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).SetAsync("DefaultMCAuthKey", result.AuthKey);

                return(result.AuthKey);
            }
            else
            {
                return("");
            }
        }