protected virtual PickerEntity GetPickerEntity(Auth0.User auth0User, string claimEntityType) { PickerEntity pe = CreatePickerEntity(); SPClaim claim = null; if (claimEntityType == SPClaimEntityTypes.User) { claim = new SPClaim( this.identifierClaimType, string.IsNullOrEmpty(this.auth0Config.IdentifierUserField) || this.auth0Config.IdentifierUserField == "Email" ? auth0User.UniqueEmail() : Utils.GetPropValue(auth0User, this.auth0Config.IdentifierUserField).ToString(), Microsoft.IdentityModel.Claims.ClaimValueTypes.String, SPOriginalIssuers.Format(SPOriginalIssuerType.TrustedProvider, this.associatedSPTrustedLoginProvider.Name)); var displayText = !string.IsNullOrEmpty(auth0User.FamilyName) && !string.IsNullOrEmpty(auth0User.GivenName) ? string.Format("{0} {1}", auth0User.GivenName, auth0User.FamilyName) : auth0User.Name; pe.DisplayText = !string.IsNullOrEmpty(displayText) ? string.Format("{0} ({1})", displayText, auth0User.Email) : auth0User.Email; pe.Description = string.Format( "Email: {0}; Name: {1}", auth0User.Email, auth0User.Name); pe.EntityType = SPClaimEntityTypes.User; pe.EntityData[PeopleEditorEntityDataKeys.DisplayName] = displayText; pe.EntityData[PeopleEditorEntityDataKeys.Email] = auth0User.Email; pe.EntityData["Picture"] = auth0User.Picture; } else if (claimEntityType == SPClaimEntityTypes.FormsRole) { claim = new SPClaim( ConnectionClaimType, auth0User.Identities.First().Connection, Microsoft.IdentityModel.Claims.ClaimValueTypes.String, SPOriginalIssuers.Format(SPOriginalIssuerType.TrustedProvider, this.associatedSPTrustedLoginProvider.Name)); pe.DisplayText = string.Format( "All Users ({0})", auth0User.Identities.First().Connection); pe.Description = string.Format( "[{0}] All Users from '{1}'", ProviderInternalName, auth0User.Identities.First().Connection); pe.EntityType = SPClaimEntityTypes.FormsRole; } pe.Claim = claim; pe.IsResolved = true; pe.EntityGroupName = this.pickerEntityGroupName; return pe; }