Guest User

Untitled

a guest
May 25th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using Microsoft.AspNetCore.Mvc;
  6. using System.Security.Claims;
  7. using System.IdentityModel.Tokens.Jwt;
  8. using System.Text;
  9. using Microsoft.IdentityModel.Tokens;
  10.  
  11. namespace APIwithJWT.Controllers
  12. {
  13. [Route("api/[controller]")]
  14. public class authController : Controller
  15. {
  16. [HttpPost("token")]
  17. public IActionResult Token()
  18. {
  19. var header = Request.Headers["Authorization"];
  20. if (header.ToString().StartsWith("Basic"))
  21. {
  22. var credValue = header.ToString().Substring("Basic ".Length).Trim();
  23. var usernameAndPassenc = Encoding.UTF8.GetString(Convert.FromBase64String(credValue));
  24. var usernameAndPass = usernameAndPassenc.Split(":");
  25. if (usernameAndPass[0] == "Admin" && usernameAndPass[1] == "password")
  26. {
  27. var claimdata = new[] { new Claim(ClaimTypes.Name, usernameAndPass[0]) };
  28. var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("Tutaj jest token :D"));
  29. var signInCred = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);
  30. var token = new JwtSecurityToken(
  31. issuer: "mysite.com",
  32. audience: "mysite.com",
  33. expires: DateTime.Now.AddMinutes(1),
  34. claims: claimdata,
  35. signingCredentials: signInCred
  36. );
  37. var tokenString = new JwtSecurityTokenHandler().WriteToken(token);
  38. return Ok(tokenString);
  39. }
  40. }
  41. return BadRequest("Bad Request");
  42. }
  43. }
  44. }
Add Comment
Please, Sign In to add comment