コード例 #1
0
        public IActionResult TestPost([FromBody] Models.RegInfo reg)
        {
            if (reg.name == "doug" && reg.pswd == "doug")
            {
                var claims = new[] {
                    new Claim(ClaimTypes.Name, reg.name),
                    new Claim(ClaimTypes.Role, "AdminRole")
                };

                var key   = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["JWT:SignKey"]));
                var cred  = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
                var token = new JwtSecurityToken(
                    issuer: _config["JWT:Issuer"],
                    audience: _config["JWT:Audience"],
                    claims: claims,
                    expires: DateTime.Now.AddMinutes(30),
                    signingCredentials: cred
                    );
                return(Ok(new
                {
                    token = new JwtSecurityTokenHandler().WriteToken(token)
                }));

                ;
            }

            return(BadRequest("Could not verify name & pswd"));
        }
コード例 #2
0
        public IActionResult TestGet()
        {
            Models.RegInfo reg    = new Models.RegInfo();
            var            claims = new[]
            {
                new Claim(JwtRegisteredClaimNames.NameId, "doug"),
                new Claim(ClaimTypes.Role, "AdminRole")
            };
            var key   = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["JWT:SignKey"]));
            var cred  = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            var token = new JwtSecurityToken(
                issuer: _config["JWT:Issuer"],
                audience: _config["JWT:Audience"],
                claims: claims,
                expires: DateTime.UtcNow.AddDays(7),
                signingCredentials: cred
                );

            return(Ok(new
            {
                token = new JwtSecurityTokenHandler().WriteToken(token)
            }));
        }