예제 #1
0
        public async Task <IActionResult> SignIn(int id)
        {
            var result = await AdminApplication.GetById(id);

            string tokenResult = string.Empty;

            if (result != null)
            {
                var claims = new ClaimsIdentity(new Claim[]
                {
                    new Claim("email", "*****@*****.**"),
                    new Claim(Constant.UserId, id.ToString())
                });

                var tokenHandler = new JwtSecurityTokenHandler();

                var encryptionKey   = Configuration["Jwt:Encryptionkey"];
                var key             = Encoding.ASCII.GetBytes(encryptionKey);
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Issuer             = Configuration["Jwt:Issuer"],
                    Subject            = claims,
                    Audience           = Configuration["Jwt:Audience"],
                    Expires            = DateTime.Now.AddMinutes(Convert.ToDouble(Configuration["Jwt:ExpiryTimeInMinutes"])),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
                };

                SecurityToken token = tokenHandler.CreateToken(tokenDescriptor);
                tokenResult = tokenHandler.WriteToken(token);
            }
            return(Ok(new
            {
                token = tokenResult
            }));
        }
예제 #2
0
        public async Task <Admin> Get(int id)
        {
            if (id == 5)
            {
                throw  new Exception("not found");
            }
            //  var res = HttpContext.Items["UserID"];
            var result = await AdminApplication.GetById(id);

            return(result);
        }