KNF:Scoping
Versie door Holierhoek01 (overleg | bijdragen) op 25 apr 2017 om 11:41
Met een SAML koppeling is dit mogelijk met de functie scoping.
Meer informatie daarover kan je op deze website vinden:
https://simplesamlphp.org/docs/stable/simplesamlphp-scoping
Toevoegen van scoping aan componentspace AuthnRequest()
' Create the AuthnRequest
Private Function CreateAuthnRequest(certificate As X509Certificate2, ssoURL As String, UseScoping as Boolean, Brin as String) As XmlElement
' Define EntityID
Dim entityId As String = ConfigurationManager.AppSettings("Entree.EntityID")
Dim authnRequest As New AuthnRequest()
authnRequest.Destination = ssoURL
authnRequest.Issuer = New Issuer(entityId)
authnRequest.ForceAuthn = False
authnRequest.NameIDPolicy = New NameIDPolicy(Nothing, Nothing, True)
'Gebruik scoping om school selectie scherm over te slaan?
If UseScoping = True Then
'download json van kennisnet waar de ProviderIDs in zitten
Dim wc As New WebClient()
Dim json As String = wc.DownloadString(“https://aselect.entree.kennisnet.nl/openaselect/sso/wayfsearch2?type=getAll&spCode=” & entityId)
Dim wayfsearch As JArray = JArray.Parse(json)
Dim ProviderID As String = ""
For Each w In wayfsearch.Children
'zoek voor het juiste providerID bij de opgegeven BRIN
If w("ko")("brin").ToString().ToLower() = Brin.ToLower() Then
ProviderID = w("idp")("asorgcode").ToString()
End If
Next
If String.IsNullOrEmpty(ProviderID) = False Then 'ProviderID gevonden
Dim ips As IDPList = New IDPList()
Dim ipe As IDPEntry = New IDPEntry()
ipe.ProviderID = ProviderID
ips.IDPEntries.Add(ipe)
Dim scopeing As Scoping = New Scoping()
scopeing.IDPList = ips
scopeing.ProxyCount = 2
authnRequest.Scoping = scopeing
End If
End If
authnRequest.ProtocolBinding = SAMLIdentifiers.BindingURIs.HTTPPost
authnRequest.AssertionConsumerServiceURL = ConfigurationManager.AppSettings("AssertionConsumerServiceURL")
Dim authnRequestXml As XmlElement = authnRequest.ToXml()
' Add signature
SAMLMessageSignature.Generate(authnRequestXml, certificate.PrivateKey, certificate)
Return authnRequestXml
End Function