private IEnumerable <AgressoUserClaim> GetUserClaimFromEvent(INamedEventResult userMappingEventResult) { // event was fired and cancel was set to true -> the result should contain a valid user id var userId = userMappingEventResult["userId"] as string; var userName = userMappingEventResult["userName"] as string; var domainInfo = userMappingEventResult["domainInfo"] as string; // build mapped claims list if (!String.IsNullOrEmpty(userId)) { yield return(new AgressoUserClaim() { AgressoUserClaimType = AgressoUserClaimType.UserId, AgressoUserClaimValue = userId }); } if (!String.IsNullOrEmpty(userName)) { yield return(new AgressoUserClaim() { AgressoUserClaimType = AgressoUserClaimType.UserName, AgressoUserClaimValue = userName }); } if (!String.IsNullOrEmpty(domainInfo)) { yield return(new AgressoUserClaim() { AgressoUserClaimType = AgressoUserClaimType.DomainUser, AgressoUserClaimValue = domainInfo }); } }
internal static bool NamedEventWasRaised(this INamedEventResult result) { if (!result.WasFired) { return(false); } return(result.Cancel.HasValue && result.Cancel.Value); }
public override IEnumerable <AgressoUserClaim> GetUserClaims(IEnumerable <Claim> claims) { INamedEventResult userMappingEventResult = NamedEventRaiser.Raise("CLAIMS_AUTHENTICATION", "USER_MAPPING", "claims", claims); if (userMappingEventResult.NamedEventWasRaised()) { return(GetUserClaimFromEvent(userMappingEventResult)); } return(base.GetUserClaims(claims)); }