Exemplo n.º 1
0
        private User GetUser()
        {
            try // may not have a context if class instantiated during start-up for initial db seeding
            {
                Microsoft.IdentityModel.Claims.ClaimsIdentity claimsIdentity = HttpContext.Current.User.Identity as Microsoft.IdentityModel.Claims.ClaimsIdentity;
                if (claimsIdentity == null || !claimsIdentity.IsAuthenticated)
                {
                    return(null);
                }

                Microsoft.IdentityModel.Claims.Claim nameIdentifierClaim = claimsIdentity.Claims.Where(candidate => candidate.ClaimType.EndsWith("nameidentifier", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                if (nameIdentifierClaim == null)
                {
                    return(null);
                }

                Microsoft.IdentityModel.Claims.Claim identityProviderClaim = claimsIdentity.Claims.Where(candidate => candidate.ClaimType.EndsWith("identityprovider", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
                if (identityProviderClaim == null)
                {
                    return(null);
                }

                return(_storage.Users.Where(u => u.NameIdentifier == nameIdentifierClaim.Value).FirstOrDefault());
            }
            catch
            {
                return(null);
            }
        }
Exemplo n.º 2
0
        public static string GetIdentityProvider()
        {
            Microsoft.IdentityModel.Claims.ClaimsIdentity claimsIdentity = System.Web.HttpContext.Current.User.Identity as Microsoft.IdentityModel.Claims.ClaimsIdentity;

            if (claimsIdentity == null || !claimsIdentity.IsAuthenticated)
            {
                return(null);
            }

            Microsoft.IdentityModel.Claims.Claim identityProviderClaim = claimsIdentity.Claims.Where(candidate => candidate.ClaimType.EndsWith("identityprovider", StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
            if (identityProviderClaim == null)
            {
                return(null);
            }

            return(identityProviderClaim.Value);
        }