Example #1
0
        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());
        }
Example #2
0
        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 }));
        }