protected override void BuildInternal(AuthnRequest request, AuthnRequestConfiguration configuration) { request.IsPassive = configuration.IsPassive; request.ForceAuthn = configuration.ForceAuthn; request.Version = configuration.Version; request.IssueInstant = DateTime.UtcNow; }
protected override void BuildInternal(AuthnRequest request, AuthnRequestConfiguration configuration) { var audienceRestriction = new AudienceRestriction(); configuration.AudienceRestriction.Aggregate(audienceRestriction, (a, next) => { a.Audience.Add(next); return(a); }); request.Conditions.Items.Add(audienceRestriction); }
protected override void BuildInternal(AuthnRequest request, AuthnRequestConfiguration configuration) { request.Issuer = new NameId { Value = configuration.EntityId, Format = NameIdentifierFormats.Entity }; }
protected override void BuildInternal(AuthnRequest request, AuthnRequestConfiguration configuration) { var format = this.ResolveFormat(configuration); request.NameIdPolicy = new NameIdPolicy { AllowCreate = configuration.AllowCreateNameIdPolicy, Format = format }; }
protected override void BuildInternal(AuthnRequest request, AuthnRequestConfiguration configuration) { if (configuration.RequestedAuthnContextConfiguration == null) { return; } var comparison = (AuthnContextComparisonType)Enum.Parse(typeof(AuthnContextComparisonType), configuration.RequestedAuthnContextConfiguration.Comparision); request.RequestedAuthnContext = new RequestedAuthnContext { Comparison = comparison, ItemsElementName = configuration.RequestedAuthnContextConfiguration.RequestedAuthnContexts.Select(x => (AuthnContextType)Enum.Parse(typeof(AuthnContextType), x.AuthnContextType)).ToArray(), Items = configuration.RequestedAuthnContextConfiguration.RequestedAuthnContexts.Select(x => x.AuthnContextUri.AbsoluteUri).ToArray() }; }
protected override void BuildInternal(AuthnRequest request, AuthnRequestConfiguration configuration) { if (configuration.ScopingConfiguration == null) { return; } if (configuration.ScopingConfiguration.RequesterIds != null && configuration.ScopingConfiguration.RequesterIds.Count == 0) { configuration.ScopingConfiguration.RequesterIds.Add(configuration.EntityId); } request.Scoping = new Scoping { ProxyCount = configuration.ScopingConfiguration.PoxyCount.ToString(), RequesterId = configuration.ScopingConfiguration.RequesterIds.ToArray() }; }
private string ResolveFormat(AuthnRequestConfiguration configuration) { var format = NameIdentifierFormats.Unspecified; if (configuration.EncryptNameId || configuration.DefaultNameIdFormat == new Uri(NameIdentifierFormats.Encrypted)) { return(NameIdentifierFormats.Encrypted); } if (configuration.DefaultNameIdFormat != null) { var defaultNameId = configuration.SupportedNameIdentifierFormats.FirstOrDefault(x => x == configuration.DefaultNameIdFormat); if (defaultNameId != null) { format = defaultNameId.AbsoluteUri; } } return(format); }
protected override void BuildInternal(AuthnRequest request, AuthnRequestConfiguration configuration) { }
protected override void BuildInternal(AuthnRequest request, AuthnRequestConfiguration configuration) { request.AssertionConsumerServiceIndex = configuration.AssertionConsumerServiceIndex; }
public void Build(AuthnRequest request, AuthnRequestConfiguration configuration) { this.BuildInternal(request, configuration); }
protected abstract void BuildInternal(AuthnRequest request, AuthnRequestConfiguration configuration);