System.Security.Claims.ClaimsIdentity.FindFirst C# (CSharp) Method

FindFirst() public method

Retrieves the first Claim that is matched by .
if 'match' is null.
public FindFirst ( Predicate match ) : Claim
match Predicate The function that performs the matching logic.
return Claim
        public virtual Claim FindFirst(Predicate<Claim> match)
        {
            if (match == null)
            {
                throw new ArgumentNullException(nameof(match));
            }

            Contract.EndContractBlock();

            foreach (Claim claim in Claims)
            {
                if (match(claim))
                {
                    return claim;
                }
            }

            return null;
        }

Same methods

ClaimsIdentity::FindFirst ( string type ) : Claim
ClaimsIdentity::FindFirst ( System match ) : System.Security.Claims.Claim
ClaimsIdentity::FindFirst ( string type ) : System.Security.Claims.Claim

Usage Example

コード例 #1
2
        public static ExternalLoginData FromIdentity(ClaimsIdentity identity)
        {
            if (identity == null)
            {
                return null;
            }

            var providerKeyClaim = identity.FindFirst(ClaimTypes.NameIdentifier);

            if (providerKeyClaim == null || string.IsNullOrWhiteSpace(providerKeyClaim.Issuer) || string.IsNullOrWhiteSpace(providerKeyClaim.Value))
            {
                return null;
            }

            if (providerKeyClaim.Issuer == ClaimsIdentity.DefaultIssuer)
            {
                return null;
            }

            return new ExternalLoginData
            {
                LoginProvider = providerKeyClaim.Issuer,
                ProviderKey = providerKeyClaim.Value,
                Username = identity.FindFirst(ClaimTypes.Name).Value,
                ExternalAccessToken = identity.FindFirst("ExternalAccessToken").Value
            };
        }
All Usage Examples Of System.Security.Claims.ClaimsIdentity::FindFirst