public ExternalLoginData Parse(ClaimsIdentity identity) { if (identity == null) { return null; } var nameClaim = identity.FindFirst(ClaimTypes.NameIdentifier); if (nameClaim == null || String.IsNullOrEmpty(nameClaim.Issuer) || String.IsNullOrEmpty(nameClaim.Value)) { throw new ApplicationException("Cannot find a claim of ClaimTypes.NameIdentifier"); } if (nameClaim.Issuer == ClaimsIdentity.DefaultIssuer) { return null; } var loginData = new ExternalLoginData { ProviderName = nameClaim.Issuer, ProviderKey = nameClaim.Value, Name = identity.GetFirstOrDefault(ClaimTypes.Name), Email = identity.GetFirstOrDefault(ClaimTypes.Email), }; ParseDetailLoginData(identity, ref loginData); return loginData; }
public void Parse(ClaimsIdentity identity, ref ExternalLoginData loginData) { loginData.Profile = identity.GetFirstOrDefault("urn:github:url"); loginData.UserName = identity.GetFirstOrDefault(ClaimTypes.Name); loginData.Name = identity.GetFirstOrDefault("urn:github:name"); }
public void Parse(ClaimsIdentity identity, ref ExternalLoginData loginData) { loginData.Profile = identity.GetFirstOrDefault("urn:google:profile"); }
public void Parse(ClaimsIdentity identity, ref ExternalLoginData loginData) { loginData.Profile = identity.GetFirstOrDefault("urn:linkedin:url"); loginData.Name = identity.GetFirstOrDefault("urn:linkedin:name"); }