コード例 #1
0
        public void Should_Localize_IdentityFramework_Messages()
        {
            var localizationManager = Resolve <ILocalizationManager>();

            IdentityResultExtensions
            .LocalizeErrors(IdentityResult.Failed("Incorrect password."), localizationManager)
            .ShouldBe("Incorrect password.");

            IdentityResultExtensions
            .LocalizeErrors(IdentityResult.Failed("Passwords must be at least 6 characters."), localizationManager)
            .ShouldBe("Passwords must be at least 6 characters.");
        }
コード例 #2
0
        public void Should_Localize_IdentityFramework_Messages()
        {
            System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

            var localizationManager = Resolve <ILocalizationManager>();

            IdentityResultExtensions
            .LocalizeErrors(IdentityResult.Failed("Incorrect password."), localizationManager)
            .ShouldBe("Incorrect password.");

            IdentityResultExtensions
            .LocalizeErrors(IdentityResult.Failed("Passwords must be at least 6 characters."), localizationManager)
            .ShouldBe("Passwords must be at least 6 characters.");
        }
コード例 #3
0
        public async Task <Result> CreateUserAsync(string name, string email, string password)
        {
            if (await CheckIsEmailBusy(email))
            {
                return(IdentityResultExtensions.EmailIsBusy());
            }

            var user = new AppUser()
            {
                UserName = name, Email = email
            };
            var result = await _userManager.CreateAsync(user, password);

            if (result.Succeeded)
            {
                result = await _userManager.AddToRoleAsync(await _userManager.FindByEmailAsync(email), "user");

                await _signInManager.SignInAsync(user, true);
            }

            return(result.ToApplicationResult());
        }
コード例 #4
0
        public async Task <Operation <TUser> > SignInAsync(IdentityType identityType, string identity, string password)
        {
            TUser user = default;

            try
            {
                user = await _userManager.FindByIdentityAsync(identityType, identity);

                if (user == null)
                {
                    return(IdentityResultExtensions.NotFound <TUser>());
                }

                var result = await _signInManager.CheckPasswordSignInAsync(user, password,
                                                                           _identityOptions.CurrentValue.User.LockoutEnabled);

                if (result.Succeeded)
                {
                    var claims = await _userManager.GetClaimsAsync(user);

                    foreach (var handler in _handlers)
                    {
                        await handler.OnSignInSuccessAsync(claims);
                    }
                }

                return(result.ToOperation(user));
            }
            catch (Exception ex)
            {
                var operation = IdentityResult.Failed(new IdentityError
                {
                    Code = ex.GetType().Name, Description = ex.Message
                }).ToOperation(user);

                return(operation);
            }
        }