public async Task <IActionResult> Authenticated() { string roomieId = User.FindFirst(ClaimTypes.NameIdentifier).Value; string email = User.FindFirst(ClaimTypes.Email).Value; Token token = _tokenService.GenerateToken(roomieId, email); IEnumerable <string> providers = await _roomiesGateway.GetAuthenticationProviders(roomieId); ViewData["SpaHost"] = _spaOptions.Value.Host; ViewData["BreachPadding"] = GetBreachPadding(); // Mitigate BREACH attack. See http://www.breachattack.com/ ViewData["Token"] = token; ViewData["Email"] = email; ViewData["NoLayout"] = true; ViewData["Providers"] = providers; return(View()); }
public async Task <IActionResult> Token() { var identity = User.Identities.SingleOrDefault(i => i.AuthenticationType == CookieAuthentication.AuthenticationScheme); if (identity == null) { return(Ok(new { Success = false })); } string userId = identity.FindFirst(ClaimTypes.NameIdentifier).Value; string email = identity.FindFirst(ClaimTypes.Email).Value; Token token = _tokenService.GenerateToken(userId, email); IEnumerable <string> providers = await _userGateway.GetAuthenticationProviders(userId); return(Ok(new { Success = true, Bearer = token, Email = email, BoundProviders = providers })); }