示例#1
0
        public async Task <AppUser> LoginAsync(SvcData aLoginUser)
        {
            try
            {
                aLoginUser.LoginEmail = AppEncrypt.EncryptText(aLoginUser.LoginEmail);
                aLoginUser.LoginPass  = AppEncrypt.EncryptText(aLoginUser.LoginPass);
                string serializedUser = JsonSerializer.Serialize(aLoginUser);

                var vRequestMessage = new HttpRequestMessage(HttpMethod.Post, LoginSvcUrl)
                {
                    Content = new StringContent(serializedUser)
                };
                vRequestMessage.Content.Headers.ContentType
                    = new System.Net.Http.Headers.MediaTypeHeaderValue(AppConstants.JsonMediaTypeHeader);

                var vSvcResponse = await SvcClient.SendAsync(vRequestMessage);

                if (vSvcResponse.IsSuccessStatusCode)
                {
                    var vResponseBody = await vSvcResponse.Content.ReadAsStreamAsync();

                    SvcData vSvcRetObj = await JsonSerializer.DeserializeAsync <SvcData>(vResponseBody, JsonOptions);

                    string sDeCryptedUser = AppEncrypt.DecryptText(vSvcRetObj.ComplexData);
                    return(JsonSerializer.Deserialize <AppUser>(sDeCryptedUser, JsonOptions));
                }
                return(null);
            }
            catch (Exception)
            { throw; }
        }
示例#2
0
        public async Task <AppUser> VerifyEmailAsync(SvcData aVerifyEmailData)
        {
            aVerifyEmailData.VerificationCode = AppEncrypt.EncryptText(aVerifyEmailData.VerificationCode);
            string serializedData = JsonSerializer.Serialize(aVerifyEmailData);

            var vRequestMessage = new HttpRequestMessage(HttpMethod.Post, VerifyEmailSvcUrl)
            {
                Content = new StringContent(serializedData)
            };

            vRequestMessage.Content.Headers.ContentType
                = new System.Net.Http.Headers.MediaTypeHeaderValue(AppConstants.JsonMediaTypeHeader);

            var vSvcResponse = await SvcClient.SendAsync(vRequestMessage);

            if (vSvcResponse.IsSuccessStatusCode)
            {
                var vResponseBody = await vSvcResponse.Content.ReadAsStreamAsync();

                SvcData vSvcRetObj = await JsonSerializer.DeserializeAsync <SvcData>(vResponseBody, JsonOptions);

                string sDeCryptedUser = AppEncrypt.DecryptText(vSvcRetObj.ComplexData);
                return(JsonSerializer.Deserialize <AppUser>(sDeCryptedUser, JsonOptions));
            }
            else
            {
                throw new Exception(await vSvcResponse.Content.ReadAsStringAsync());
            }
        }
示例#3
0
        public async Task <AppUser> GetUserByAccessTokenAsync(string aSvcAccessToken)
        {
            SvcData vVerifyToken = new SvcData()
            {
                JwToken = aSvcAccessToken
            };
            string vRefreshRequest = JsonSerializer.Serialize(vVerifyToken);

            var vRequestMessage = new HttpRequestMessage(HttpMethod.Post, UserByTokenSvcUrl)
            {
                Content = new StringContent(vRefreshRequest)
            };

            vRequestMessage.Content.Headers.ContentType
                = new System.Net.Http.Headers.MediaTypeHeaderValue(AppConstants.JsonMediaTypeHeader);
            var vSvcResponse = await SvcClient.SendAsync(vRequestMessage);

            var vResponseBody = await vSvcResponse.Content.ReadAsStreamAsync();

            SvcData vSvcRetObj = await JsonSerializer.DeserializeAsync <SvcData>(vResponseBody, JsonOptions);

            string sDeCryptedUser = AppEncrypt.DecryptText(vSvcRetObj.ComplexData);

            return(JsonSerializer.Deserialize <AppUser>(sDeCryptedUser, JsonOptions));
        }
示例#4
0
        public async Task <bool> ResendVerifiEmailAsync(SvcData aVerifiEmailData)
        {
            aVerifiEmailData.LoginEmail = AppEncrypt.EncryptText(aVerifiEmailData.LoginEmail);
            string serializedData = JsonSerializer.Serialize(aVerifiEmailData);

            var vRequestMessage = new HttpRequestMessage(HttpMethod.Post, ResendVerifiEmailSvcUrl)
            {
                Content = new StringContent(serializedData)
            };

            vRequestMessage.Content.Headers.ContentType
                = new System.Net.Http.Headers.MediaTypeHeaderValue(AppConstants.JsonMediaTypeHeader);

            var vSvcResponse = await SvcClient.SendAsync(vRequestMessage);

            return(vSvcResponse.IsSuccessStatusCode ? true : throw new Exception(await vSvcResponse.Content.ReadAsStringAsync()));
        }
示例#5
0
        public async Task <AppUser> RefreshTokenAsync(RefreshRequest aRefreshRequest)
        {
            string vSerializedUser = JsonSerializer.Serialize(aRefreshRequest);

            var vRequestMessage = new HttpRequestMessage(HttpMethod.Post, RefreshTokenSvcUrl)
            {
                Content = new StringContent(vSerializedUser)
            };

            vRequestMessage.Content.Headers.ContentType
                = new System.Net.Http.Headers.MediaTypeHeaderValue(AppConstants.JsonMediaTypeHeader);

            var vSvcResponse = await SvcClient.SendAsync(vRequestMessage);

            var vResponseBody = await vSvcResponse.Content.ReadAsStreamAsync();

            return(await JsonSerializer.DeserializeAsync <AppUser>(vResponseBody, JsonOptions));
        }
示例#6
0
        public async Task <AppUser> RegisterUserAsync(SvcData aLoginUser)
        {
            aLoginUser.ComplexData = AppEncrypt.EncryptText(aLoginUser.ComplexData);
            string serializedUser = JsonSerializer.Serialize(aLoginUser);

            var vRequestMessage = new HttpRequestMessage(HttpMethod.Post, RegSvcUrl)
            {
                Content = new StringContent(serializedUser)
            };

            vRequestMessage.Content.Headers.ContentType
                = new System.Net.Http.Headers.MediaTypeHeaderValue(AppConstants.JsonMediaTypeHeader);

            var vSvcResponse = await SvcClient.SendAsync(vRequestMessage);

            var vResponseBody = await vSvcResponse.Content.ReadAsStreamAsync();

            SvcData vSvcRetObj = await JsonSerializer.DeserializeAsync <SvcData>(vResponseBody, JsonOptions);

            string sDeCryptedUser = AppEncrypt.DecryptText(vSvcRetObj.ComplexData);

            return(JsonSerializer.Deserialize <AppUser>(sDeCryptedUser, JsonOptions));
        }
示例#7
0
        public async Task <bool> RegisterUserAsync(SvcData aLoginUser)
        {
            aLoginUser.ComplexData = AppEncrypt.EncryptText(aLoginUser.ComplexData);
            string serializedUser = JsonSerializer.Serialize(aLoginUser);

            var vRequestMessage = new HttpRequestMessage(HttpMethod.Post, RegSvcUrl)
            {
                Content = new StringContent(serializedUser)
            };

            vRequestMessage.Content.Headers.ContentType
                = new System.Net.Http.Headers.MediaTypeHeaderValue(AppConstants.JsonMediaTypeHeader);

            var vSvcResponse = await SvcClient.SendAsync(vRequestMessage);

            if (vSvcResponse.IsSuccessStatusCode)
            {
                return(true);
            }
            else
            {
                throw new Exception(await vSvcResponse.Content.ReadAsStringAsync());
            }
        }