Guest User

Untitled

a guest
Oct 20th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. public TenantAuthController()
  2. {
  3. _serviceContext = new MobileServiceContext();
  4. _signingKey = Environment.GetEnvironmentVariable("WEBSITE_AUTH_SIGNING_KEY");
  5. var website = Environment.GetEnvironmentVariable("WEBSITE_HOSTNAME");
  6. _audience = $"https://{website}/";
  7. _issuer = $"https://{website}/";
  8. }
  9.  
  10. [HttpPost]
  11. public IHttpActionResult Post([FromBody] TenantLoginRequest request)
  12. {
  13. if (string.IsNullOrEmpty(request.TenantName) || string.IsNullOrEmpty(request.Password)) return BadRequest();
  14. (var valid, var tenant) = ValidateAuthRequest(request);
  15. if (!valid) return Unauthorized();
  16.  
  17. var claims = new[]
  18. {
  19. new Claim(JwtRegisteredClaimNames.Sub, $"{tenant.Id}")
  20. };
  21.  
  22. var token = AppServiceLoginHandler.CreateToken(claims, _signingKey, _audience, _issuer, TimeSpan.FromDays(365)); // TODO Token refresh
  23.  
  24. return Ok(
  25. new TenantLoginResponse
  26. {
  27. Tenant = tenant,
  28. Token = token.RawData,
  29. }
  30. );
  31. }
Add Comment
Please, Sign In to add comment