コード例 #1
0
 public CommentsManagementTests()
 {
     _commentsManagementService            = ServiceProvider.Instance.Resolve <ICommentsManagementService>();
     _accountManagementService             = ServiceProvider.Instance.Resolve <IAccountManagementService>();
     _commentsManagementService.RequestUri = RequestUriHelper.CommentsUri;
     _accountManagementService.RequestUri  = RequestUriHelper.JwtTokenUri;
     _testingComment = TestingObjectProvider.Instance.Comment;
     _token          = _accountManagementService.SignIn(TestingObjectProvider.Instance.Login).Result;
 }
コード例 #2
0
 public PetsStatusManagementTest()
 {
     _petsStatusManagementService            = ServiceProvider.Instance.Resolve <IPetsStatusManagementService>();
     _accountManagementService               = ServiceProvider.Instance.Resolve <IAccountManagementService>();
     _petsStatusManagementService.RequestUri = RequestUriHelper.PetsStatusUri;
     _accountManagementService.RequestUri    = RequestUriHelper.JwtTokenUri;
     _testingStatus = TestingObjectProvider.Instance.PetsStatus;
     _token         = _accountManagementService.SignIn(TestingObjectProvider.Instance.Login).Result;
 }
コード例 #3
0
 public UserManagementTest()
 {
     _userManagementService                  = ServiceProvider.Instance.Resolve <IUsersManagementService>();
     _accountManagementService               = ServiceProvider.Instance.Resolve <IAccountManagementService>();
     _userManagementService.RequestUri       = RequestUriHelper.UsersUri;
     _accountManagementService.RequestUriJwt = RequestUriHelper.JwtTokenUri;
     _testUser = TestingObjectProvider.Instance.User;
     _token    = _accountManagementService.SignIn(TestingObjectProvider.Instance.Login).Result;
 }
コード例 #4
0
 public OrganizationInfoManagementTest()
 {
     _organizationInfoManagementService            = ServiceProvider.Instance.Resolve <IOrganizationManagementService>();
     _accountManagementService                     = ServiceProvider.Instance.Resolve <IAccountManagementService>();
     _organizationInfoManagementService.RequestUri = RequestUriHelper.OrganizationInfoUri;
     _accountManagementService.RequestUri          = RequestUriHelper.JwtTokenUri;
     _testingOrganization = TestingObjectProvider.Instance.Organization;
     _token = _accountManagementService.SignIn(TestingObjectProvider.Instance.Login).Result;
 }
コード例 #5
0
 public ProposalsManagementTests()
 {
     _proposalsManagementService             = ServiceProvider.Instance.Resolve <IProposalsManagementService>();
     _accountManagementService               = ServiceProvider.Instance.Resolve <IAccountManagementService>();
     _proposalsManagementService.RequestUri  = RequestUriHelper.ProposalsUri;
     _accountManagementService.RequestUriJwt = RequestUriHelper.JwtTokenUri;
     _testingProposal = TestingObjectProvider.Instance.Proposal;
     _token           = _accountManagementService.SignIn(TestingObjectProvider.Instance.Login).Result;
 }
コード例 #6
0
 public NewsManagementTest()
 {
     _newsManagementService                  = ServiceProvider.Instance.Resolve <INewsManagementService>();
     _accountManagementService               = ServiceProvider.Instance.Resolve <IAccountManagementService>();
     _newsManagementService.RequestUri       = RequestUriHelper.NewsUri;
     _accountManagementService.RequestUriJwt = RequestUriHelper.JwtTokenUri;
     _testingNews = TestingObjectProvider.Instance.News;
     _token       = _accountManagementService.SignIn(TestingObjectProvider.Instance.Login).Result;
 }
コード例 #7
0
 public HelpersManagementTests()
 {
     _helpersManagementService            = ServiceProvider.Instance.Resolve <IHelpersManagementService>();
     _accountManagementService            = ServiceProvider.Instance.Resolve <IAccountManagementService>();
     _helpersManagementService.RequestUri = RequestUriHelper.HelpersUri;
     _accountManagementService.RequestUri = RequestUriHelper.JwtTokenUri;
     _testingHelper = TestingObjectProvider.Instance.Helper;
     _token         = _accountManagementService.SignIn(TestingObjectProvider.Instance.Login).Result;
 }
コード例 #8
0
 public HotToHelpInfoManagementTests()
 {
     _howToHelpInformationService = ServiceProvider.Instance.Resolve <IHowToHelpInformationService>();
     _accountManagementService    = ServiceProvider.Instance.Resolve <IAccountManagementService>();
     _howToHelpInformationService.BecomeVolunteerUrl = RequestUriHelper.OrganizationInfoUri;
     _howToHelpInformationService.DonateInfoUrl      = RequestUriHelper.HowToHelpUri;
     _accountManagementService.RequestUri            = RequestUriHelper.JwtTokenUri;
     _testingObject = TestingObjectProvider.Instance.HowToHelpInfo;
     _token         = _accountManagementService.SignIn(TestingObjectProvider.Instance.Login).Result;
 }
コード例 #9
0
 public void TestOfSignIn()
 {
     Assert.NotNull(_accountManagementService.SignIn(_testingLogin));
 }
コード例 #10
0
        public async Task <IActionResult> SignIn([Bind("Email", "Password")] Login login, string returnUrl = null)
        {
            await HttpContext.Authentication.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);

            AuthService.RemoveCookie(HttpContext, AppSettings.CookieTokenName);
            AuthService.RemoveCookie(HttpContext, AppSettings.CookieRefreshName);

            JwtToken jwtToken;

            jwtToken = await _accountManagementService.SignIn(login);

            if (jwtToken == null)
            {
                CheckUnexpectedErrors();
                ViewData["ReturnUrl"] = returnUrl;
                return(View(login));
            }

            string serializedObject = JsonConvert.SerializeObject(login, Formatting.Indented, new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            });

            List <Claim> claims = new List <Claim>();

            claims.Add(new Claim(ClaimTypes.Name, jwtToken.Name));
            claims.Add(new Claim(ClaimTypes.Surname, jwtToken.Surname));
            claims.Add(new Claim(ClaimTypes.Email, jwtToken.Email));

            for (int i = 0; i < jwtToken.Roles.Length; i++)
            {
                claims.Add(new Claim(ClaimTypes.Role, jwtToken.Roles[i]));
            }

            claims.Add(new Claim(ClaimTypes.Hash, AuthService.EncryptValue(serializedObject)));

            var identity  = new ClaimsIdentity(claims);
            var principal = new ClaimsPrincipal(identity);

            await HttpContext.Authentication.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal, new AuthenticationProperties
            {
                ExpiresUtc   = DateTimeOffset.FromUnixTimeSeconds(DateTimeOffset.MaxValue.ToUnixTimeSeconds()),//FromUnixTimeSeconds(jwtToken.ExpirationDateSeconds),
                IsPersistent = true,
                AllowRefresh = false
            });

            // Token
            AuthService.AddToCookie(HttpContext, AppSettings.CookieTokenName, jwtToken.Jwt, new CookieOptions()
            {
                Expires = DateTimeOffset.FromUnixTimeSeconds(jwtToken.ExpirationDateSeconds)
            });

            // Refresh token
            AuthService.AddToCookie(HttpContext, AppSettings.CookieRefreshName, "", new CookieOptions()
            {
                Expires = DateTimeOffset.FromUnixTimeSeconds(DateTimeOffset.UtcNow.ToUnixTimeSeconds() + Convert.ToInt64(TimeSpan.FromMinutes(AppSettings.CookieRefreshTimeInMinutes).TotalSeconds))
            });

            if (!string.IsNullOrEmpty(returnUrl))
            {
                return(Redirect(returnUrl));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
コード例 #11
0
        public async void PetsFunctionalityTest()
        {
            _token = await _accountManagementService.SignIn(TestingObjectProvider.Instance.Login);

            Assert.NotNull(_token);

            var pet = TestingObjectProvider.Instance.Pet;

            Assert.NotNull(await _petsManagementService.GetAllPets(_token.Jwt));
            Assert.NotNull(await _petsManagementService.GetPet(pet.Id, _token.Jwt));
            Assert.True(await _petsManagementService.CreatePet(pet, _token.Jwt));
            Assert.True(await _petsManagementService.UpdatePet(pet, _token.Jwt));

            var exception = Record.Exception(() => _petsManagementService.UpdatePet(null, _token.Jwt).Result);

            Assert.IsType(typeof(NullReferenceException), exception?.InnerException);

            Assert.False(await _petsManagementService.CreatePet(null, _token.Jwt));
        }