コード例 #1
0
        public async Task <AdminTokenOutput> LogInAsync(LogInInput input)
        {
            var admin = await _adminRepository.FindAll()
                        .Where(x => x.Login == input.Login)
                        .FirstOrDefaultAsync();

            bool DoesNotMatchPasswords() => false == _passwordEncoder.VerifyPassword(input.Password, admin !.Password);

            if (null == admin || DoesNotMatchPasswords())
            {
                throw AuthorizationException.BadCredentials();
            }

            return(new AdminTokenOutput(admin, _jwtManager.CreateToken(admin)));
        }