public async Task <IActionResult> GetToken([FromBody] AuthContract request)
        {
            var response = await this.accountService.GetToken(request.Email, request.Password);

            if (response != null)
            {
                return(Json(response));
            }

            return(BadRequest(new { errorText = "Invalid email or password." }));
        }
Esempio n. 2
0
        public async Task <IActionResult> PostAsync([FromBody] AuthContract AuthContract)
        {
            var uri      = _appSettings.Value.ApiUrls.MD5Function;
            var response = await _httpClient.PostAsync(uri, new StringContent(JsonConvert.SerializeObject(AuthContract), Encoding.UTF8, "application/json"));

            var responseData = await response.Content.ReadAsStringAsync();

            var result = JsonConvert.DeserializeObject <AuthHashContract>(responseData);

            return(Ok(result));
        }
Esempio n. 3
0
        public async void PostTest()
        {
            var authContract = new AuthContract {
                Login = "******", Password = "******"
            };
            var authHashContract = new AuthHashContract {
                HashValue = "hashhashhashhash"
            };

            var mockFactory = new Mock <IHttpClientFactory>();
            var handlerMock = new Mock <HttpMessageHandler>();
            var response    = new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(JsonConvert.SerializeObject(authHashContract), Encoding.UTF8, "application/json"),
            };

            handlerMock
            .Protected()
            .Setup <Task <HttpResponseMessage> >(
                "SendAsync",
                ItExpr.IsAny <HttpRequestMessage>(),
                ItExpr.IsAny <CancellationToken>())
            .ReturnsAsync(response);


            var httpClient = new HttpClient(handlerMock.Object);

            mockFactory.Setup(_ => _.CreateClient(It.IsAny <string>())).Returns(httpClient);


            AppSettings app = new AppSettings()
            {
                ApiUrls = new ApiUrls()
                {
                    MD5Function = "http://test"
                }
            };
            var mockOptions = new Mock <IOptions <AppSettings> >();

            mockOptions.Setup(ap => ap.Value).Returns(app);

            var hashController = new HashController(mockFactory.Object, mockOptions.Object);

            var result = await hashController.PostAsync(authContract);

            var actual   = JsonConvert.SerializeObject(((OkObjectResult)result).Value);
            var expected = JsonConvert.SerializeObject(authHashContract);


            Assert.Equal(expected, actual);
        }
Esempio n. 4
0
        public void SetUp()
        {
            _mockingKernel       = new MoqMockingKernel();
            ModuleManager.Kernel = _mockingKernel;

            _authRepoMock = new Mock <IAuth>();
            ModuleManager.Kernel.Bind <IAuth>().ToMethod(x => _authRepoMock.Object);

            _userAdminRepoMock = new Mock <IUserAdmin>();
            ModuleManager.Kernel.Bind <IUserAdmin>().ToMethod(x => _userAdminRepoMock.Object);

            _authContract = new AuthContract();
        }
Esempio n. 5
0
        public static bool AddNewAuth(string accessToken, string password, string userName)
        {
            var contract = new AuthContract();

            contract.UserName    = userName;
            contract.Password    = password;
            contract.StartTime   = DateTime.Now;
            contract.AccessToken = Sha256("admin");
            var response = AuhtService().GetCollection <AuthContract>("Auth");

            try
            {
                response.InsertOne(contract);
                return(true);
            }
            catch
            {
                return(false);
            }
        }
 /// <summary>
 /// Apply the specified contract.
 /// </summary>
 /// <param name="contract">Contract.</param>
 public void Apply(AuthContract contract)
 {
     Username    = contract.Email;
     AccessToken = contract.AccessKey;
 }