Kobling mod Nemlogin
Denne side beskriver hvordan En DFDG udvikler kobler amportalen lokalt fra fra sin udviklermaskine op mod Nemlogin 3. Dette kan man gøre for at udvikle integration mod Nemlogin, teste certifikater eller debugge login eller oprettelsekode som fejler.
Efter at have gennemført dette forløb kan man komme fra en authentication request til nemlogin3 og tilbage til sin udvikler maskine med et saml assertion fra Nemlogin
Man kan sagtens bruge version 3 af dk.nitas.saml20 pakken med sin gamle Nemlogin2 kode hvis man tager højde for de nu udgåede attributter og bemærker at SigningCertificate i web.Config nu er en collection således
<SigningCertificates> <SigningCertificate findValue="CVR:33445566-FID:12345678" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" /> </SigningCertificates> <MetaDataShaHashingAlgorithm>SHA256</MetaDataShaHashingAlgorithm> <AllowedAudienceUris>
I sammenhæng af denne beskrivelse vil vi lade som om vi er amportalT15, funktionscertifkatet der bruges er også møntet på det.
Det nye Nemlogin test site har adresse
https://devtest4-nemlog-in.dk/ (services)
Det har et admin site
https://administration.devtest4-nemlog-in.dk
Kontakt Jon Ingolfsson til at få adgang til sitet
Hvis man agerer som AmportalT15 behøver man ikke nødvendigvis uploade nyt metadata til administrationssitet, og man burde i hvert fald forhøre sig inden man ændrer endpoints eller lign. i metadata
man kan indstille den lokale kode til at smide en lidt mere sigende fejl men Nemlogin test sitet smider næsten kun en generisk fejl
Forudsætninger:
Man har en nemlogin identitet, dvs. kan logge på nemlogin med certifikat + password
Amportalen er deployet på din maskine den refererer dk.nitas version 3
Man skal slå Nemlogin3 til i den lokale CommonAppsettings under amportal\Config
For yderligere inspiration kan man kikke i digitaliseringstyrelsens applikations eksempel
den ligger på https://github.com/digst/OIOSAML.Net
Installationsopgaver
Ændr din host fil, typisk "C:\Windows\System32\drivers\etc\hosts" således at
DNS for amportalT15.startest.dk peger på din maskine, ved at tilføje følgende linje, bemærk at filen skal åbnes med adminstrative rettigheder
127.0.0.1 amportalt15.startest.dk
Dette vil betyde at når nemlogin sender din browser retur til amportalT15 rammes din maskine
Installer funktionscertifikatet for AmportalT15 : “VISMA CONSULTING AS - amportalt15.p12” som er administreret af SF og ligger under Star-Code\dfdg\InstallationspakkeWin2012\Certs\STx
passwordet kan fås udleveret hos en kollega eller Emilio Diaz
Verificer at certifikat kæden er gyldig ved at dobbelklikke på certifikatet
Installer det vedhæftede KFOBS ADFS certifikat under
Der er flere relevante filer for opsætningen af løsningen
Reference til dk.nita.saml20 i version 3.xx man kan også køre med projekt referance hvis man har behov for at kunne debugge/fejlfinde kommunikation med Nemlogin for eksempel dekryptering og signering
Metadata filer som skal matche (men er ikke ens) dem som er uploadet til Nemlogin test sitet
Fil som udsteder metadata som skal uploades til Nemlogin via funktionalitet i admin sitet, den genererede fil bruger oplysninger i web config
Handler som varetager login og out, debug point i din løsning
Web config som kontrollerer delvist løsningens opførsel og udstedelse af metadata
Relevante Sektioner i web.config og den lokale metadata,
Web.config
Linje 2-3 får nemlogin til at vise den aktuelle fejl og et stacktrace hvis en fejl opstår, anbefalese i test
linje 9 er det certifikat som bliver lagt i den genererede metadatafil for upload og bliver brugt for kryptering og signering fra os
linje 32-38 skal være en kontakt person som eksisterer i nemlogins system
Linje 40-53 definerer de attributter der ønskes abbonneret på bemærk at hvis man definerer en attribut som isrequired = true og den ikke har en værdi så får man “null” tilbage
linje 55 definerer hvor i din løsning de lokale metadata filer ligger
id definitonen i linje 56 skal svare til den i den lokale metadata.xml
<Federation auditLoggingType="dk.nita.saml20.Logging.Log4NetAuditLogger, dk.nita.saml20.ext.audit.log4net" xmlns="urn:dk.nita.saml20.configuration">
<ShowError>true</ShowError>
<ErrorBehaviour>throwexception</ErrorBehaviour>
<SessionTimeout>30</SessionTimeout>
<AllowedClockSkewMinutes>3</AllowedClockSkewMinutes>
<PreventOpenRedirectAttack>false</PreventOpenRedirectAttack>
<!-- this is for amportalT15.startest.dk for this to work you must have dns point to this machine as amportalt15-->
<SigningCertificates>
<SigningCertificate findValue="CVR:29973334-FID:34019171" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" />
</SigningCertificates>
<MetaDataShaHashingAlgorithm>SHA256</MetaDataShaHashingAlgorithm>
<AllowedAudienceUris>
<!-- ikke et url men en identifier-->
<Audience>https://saml.amportalt15.startest.dk</Audience>
</AllowedAudienceUris>
<Actions>
<clear />
<add name="SetSamlPrincipal" type="dk.nita.saml20.Actions.SamlPrincipalAction, dk.nita.saml20 " />
<add name="LogAction" type="NemLogIn.LogAction, NemLogIn" />
<add name="Redirect" type="dk.nita.saml20.Actions.RedirectAction, dk.nita.saml20" />
</Actions>
<SAML20Federation xmlns="urn:dk.nita.saml20.configuration">
<AllowAssuranceLevel>true</AllowAssuranceLevel>
<MinimumAssuranceLevel>3</MinimumAssuranceLevel>
<MinimumNsisLoa>Substantial</MinimumNsisLoa>
<ShowError>true</ShowError>
<ErrorBehaviour>throwexception</ErrorBehaviour>
<ServiceProvider id="https://saml.amportalt15.startest.dk" server="https://amportalt15.startest.dk/nemlogin3">
<ServiceEndpoint localpath="/nemlogin3/login.ashx" type="signon" redirectUrl="~/nemlogingateway.ashx?action=loggedin" />
<ServiceEndpoint localpath="/nemlogin3/logout.ashx" type="logout" redirectUrl="~/nemlogingateway.ashx?action=loggedout" />
<md:ContactPerson contactType="technical" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
<md:Company>Styrelsen for Arbejdsmarked og Rekruttering</md:Company>
<md:GivenName>Søren</md:GivenName>
<md:SurName>Hansen</md:SurName>
<md:EmailAddress>soh@star.dk</md:EmailAddress>
<md:TelephoneNumber>72217543</md:TelephoneNumber>
</md:ContactPerson>
</ServiceProvider>
<RequestedAttributes>
<att name="https://data.gov.dk/model/core/specVersion" isRequired="true"/>
<att name="https://data.gov.dk/concept/core/nsis/loa" isRequired="true"/>
<att name="https://data.gov.dk/model/core/eid/professional/uuid/persistent" isRequired="true"/>
<att name="https://data.gov.dk/model/core/eid/professional/cvr" isRequired="false"/>
<att name="https://data.gov.dk/model/core/eid/professional/rid" isRequired="false"/>
<att name="https://data.gov.dk/model/core/eid/firstName" isRequired="false"/>
<att name="https://data.gov.dk/model/core/eid/lastName" isRequired="false"/>
<att name="https://data.gov.dk/model/core/eid/fullName" isRequired="false"/>
<att name="https://data.gov.dk/model/core/eid/email" isRequired="false"/>
<att name="https://data.gov.dk/model/core/eid/professional/orgName" isRequired="false"/>
<att name="https://data.gov.dk/model/core/eid/professional/productionUnit" isRequired="false"/>
<att name="https://data.gov.dk/model/core/eid/professional/seNumber" isRequired="false"/>
</RequestedAttributes>
<NameIdFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIdFormat>
<IDPEndPoints metadata="App_Data\NemLogInTest">
<add id="https://saml.test-devtest4-nemlog-in.dk" ShaHashingAlgorithm="SHA256" omitAssertionSignatureCheck="true">
<CertificateValidation>
<add type="dk.nita.saml20.Specification.DefaultCertificateSpecification, dk.nita.saml20" />
</CertificateValidation>
</add>
</IDPEndPoints>
</SAML20Federation>
Metadata.xml
Bemærk linje 6 som svarer til linje 56 i web.config
<EntityDescriptor
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:a="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
ID="_5495b16a-7b17-4411-bba2-832fb12b8fa0"
entityID="https://saml.test-devtest4-nemlog-in.dk">
<IDPSSODescriptor WantAuthnRequestsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://test-devtest4-nemlog-in.dk/idp/saml/3.0/"/>
<SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://test-devtest4-nemlog-in.dk/idp/saml/3.0/"/>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://test-devtest4-nemlog-in.dk/idp/saml/3.0/"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/uuid/persistent" FriendlyName="ProfessionalPersistentUUID" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/fullName" FriendlyName="FullName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/cprUuid" FriendlyName="CprUUID" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/dateOfBirth" FriendlyName="DateOfBirth" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/alias" FriendlyName="Alias" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/concept/core/nsis/loa" FriendlyName="NsisLoA" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/firstName" FriendlyName="FirstName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/lastName" FriendlyName="LastName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/email" FriendlyName="Email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/cprNumber" FriendlyName="Cpr" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/age" FriendlyName="Age" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/person/pid" FriendlyName="Pid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/rid" FriendlyName="Rid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/cvr" FriendlyName="Cvr" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/orgName" FriendlyName="OrganizationName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/productionUnit" FriendlyName="ProductionUnit" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/seNumber" FriendlyName="SeNumber" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/authorizedToRepresent" FriendlyName="AuthorizedToRepresent" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
</IDPSSODescriptor>
<AttributeAuthorityDescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor use="signing">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>
MIIGLDCCBRSgAwIBAgIEXOhOAjANBgkqhkiG9w0BAQsFADBJMQswCQYDVQQGEwJE
SzESMBAGA1UECgwJVFJVU1QyNDA4MSYwJAYDVQQDDB1UUlVTVDI0MDggU3lzdGVt
dGVzdCBYWFhJViBDQTAeFw0yMDAyMjUyMTIwMDVaFw0yMzAyMjUyMTE3MjFaMIGW
MQswCQYDVQQGEwJESzExMC8GA1UECgwoRGlnaXRhbGlzZXJpbmdzc3R5cmVsc2Vu
IC8vIENWUjozNDA1MTE3ODFUMCAGA1UEBRMZQ1ZSOjM0MDUxMTc4LUZJRDo1Njk0
MDQxMzAwBgNVBAMMKU5lbUxvZy1pbiBBREZTIFRlc3QgKGZ1bmt0aW9uc2NlcnRp
ZmlrYXQpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwhqXoxvnrg1R
8GSAOmWdvR0lrdRjTss9zzJc/j0zHeamjsOyMdTc787Qdy2yre74ImzbBIRGi7HI
3PIP59PebFZnVOUa+/Y1enuQ8HZgJnaZqMCxPrQ+SuU3iD99WTvWtz6x+W1BLGiI
JK5Xkz8y3Ya82OZ25LwU+VXEovYEmPFNECV7z9yWkCcLZrfF4mwKbIdr96o9uFav
tiThMSD/XkD40ahdvDap13tV+HBBIVwa0gAjYe1Cz2jYPRvCVCy5adDgoDrP7WTS
ipvga7A9Y8WIZ52nDLgUlq67rK416trp6zThXAyzpDS98e99MVPy32Ovpqvw8phd
LqT6Tq8y3wIDAQABo4ICzDCCAsgwDgYDVR0PAQH/BAQDAgO4MIGXBggrBgEFBQcB
AQSBijCBhzA8BggrBgEFBQcwAYYwaHR0cDovL29jc3Auc3lzdGVtdGVzdDM0LnRy
dXN0MjQwOC5jb20vcmVzcG9uZGVyMEcGCCsGAQUFBzAChjtodHRwOi8vZi5haWEu
c3lzdGVtdGVzdDM0LnRydXN0MjQwOC5jb20vc3lzdGVtdGVzdDM0LWNhLmNlcjCC
ASAGA1UdIASCARcwggETMIIBDwYNKwYBBAGB9FECBAYEAzCB/TAvBggrBgEFBQcC
ARYjaHR0cDovL3d3dy50cnVzdDI0MDguY29tL3JlcG9zaXRvcnkwgckGCCsGAQUF
BwICMIG8MAwWBURhbklEMAMCAQEagatEYW5JRCB0ZXN0IGNlcnRpZmlrYXRlciBm
cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMy42LjEuNC4xLjMxMzEz
LjIuNC42LjQuMy4gRGFuSUQgdGVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGlzIENB
IGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMy42LjEuNC4xLjMxMzEzLjIuNC42LjQu
My4wgawGA1UdHwSBpDCBoTA8oDqgOIY2aHR0cDovL2NybC5zeXN0ZW10ZXN0MzQu
dHJ1c3QyNDA4LmNvbS9zeXN0ZW10ZXN0MzQuY3JsMGGgX6BdpFswWTELMAkGA1UE
BhMCREsxEjAQBgNVBAoMCVRSVVNUMjQwODEmMCQGA1UEAwwdVFJVU1QyNDA4IFN5
c3RlbXRlc3QgWFhYSVYgQ0ExDjAMBgNVBAMMBUNSTDE0MB8GA1UdIwQYMBaAFM1s
aJc5chmkNatk6vQRo4GH+Gk7MB0GA1UdDgQWBBRBCneiJ1Rbm3TO7S7J+lDgRq3I
FDAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCh4sfwYmyapqcQ/hfXye+m
qJQa9pTktjU6OVZ5XwqvnMSRAwDaix6jfkW+s1CDBRdHY/vpUEczOKW6piPd6x0O
cRrKghyK138yN8472EuNb3v+A4g5AvKgtrRIojRtzUHOOQyl7e5um49WQKEsl8FV
DxFPbWjzkLHoDsgnvyLZdOR00QjKJsKYVK6Xct1Rsh5zJZE9/LHAkKx0lBCMT2Uj
rYqIj3qR+yKQLutLJxhfaAiLj9h00dVNhUQKTb6cfgPkr/+41lg7CvaVas+wDhQD
SrsaTkF54V9u+h3q8+BC3IW6ObMOz84Ws+Rbol5d7pVkVJemvYD5uqCCA+YLG3Bj</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
<KeyDescriptor use="encryption">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>
MIIGLDCCBRSgAwIBAgIEXOhOAjANBgkqhkiG9w0BAQsFADBJMQswCQYDVQQGEwJE
SzESMBAGA1UECgwJVFJVU1QyNDA4MSYwJAYDVQQDDB1UUlVTVDI0MDggU3lzdGVt
dGVzdCBYWFhJViBDQTAeFw0yMDAyMjUyMTIwMDVaFw0yMzAyMjUyMTE3MjFaMIGW
MQswCQYDVQQGEwJESzExMC8GA1UECgwoRGlnaXRhbGlzZXJpbmdzc3R5cmVsc2Vu
IC8vIENWUjozNDA1MTE3ODFUMCAGA1UEBRMZQ1ZSOjM0MDUxMTc4LUZJRDo1Njk0
MDQxMzAwBgNVBAMMKU5lbUxvZy1pbiBBREZTIFRlc3QgKGZ1bmt0aW9uc2NlcnRp
ZmlrYXQpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwhqXoxvnrg1R
8GSAOmWdvR0lrdRjTss9zzJc/j0zHeamjsOyMdTc787Qdy2yre74ImzbBIRGi7HI
3PIP59PebFZnVOUa+/Y1enuQ8HZgJnaZqMCxPrQ+SuU3iD99WTvWtz6x+W1BLGiI
JK5Xkz8y3Ya82OZ25LwU+VXEovYEmPFNECV7z9yWkCcLZrfF4mwKbIdr96o9uFav
tiThMSD/XkD40ahdvDap13tV+HBBIVwa0gAjYe1Cz2jYPRvCVCy5adDgoDrP7WTS
ipvga7A9Y8WIZ52nDLgUlq67rK416trp6zThXAyzpDS98e99MVPy32Ovpqvw8phd
LqT6Tq8y3wIDAQABo4ICzDCCAsgwDgYDVR0PAQH/BAQDAgO4MIGXBggrBgEFBQcB
AQSBijCBhzA8BggrBgEFBQcwAYYwaHR0cDovL29jc3Auc3lzdGVtdGVzdDM0LnRy
dXN0MjQwOC5jb20vcmVzcG9uZGVyMEcGCCsGAQUFBzAChjtodHRwOi8vZi5haWEu
c3lzdGVtdGVzdDM0LnRydXN0MjQwOC5jb20vc3lzdGVtdGVzdDM0LWNhLmNlcjCC
ASAGA1UdIASCARcwggETMIIBDwYNKwYBBAGB9FECBAYEAzCB/TAvBggrBgEFBQcC
ARYjaHR0cDovL3d3dy50cnVzdDI0MDguY29tL3JlcG9zaXRvcnkwgckGCCsGAQUF
BwICMIG8MAwWBURhbklEMAMCAQEagatEYW5JRCB0ZXN0IGNlcnRpZmlrYXRlciBm
cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMy42LjEuNC4xLjMxMzEz
LjIuNC42LjQuMy4gRGFuSUQgdGVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGlzIENB
IGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMy42LjEuNC4xLjMxMzEzLjIuNC42LjQu
My4wgawGA1UdHwSBpDCBoTA8oDqgOIY2aHR0cDovL2NybC5zeXN0ZW10ZXN0MzQu
dHJ1c3QyNDA4LmNvbS9zeXN0ZW10ZXN0MzQuY3JsMGGgX6BdpFswWTELMAkGA1UE
BhMCREsxEjAQBgNVBAoMCVRSVVNUMjQwODEmMCQGA1UEAwwdVFJVU1QyNDA4IFN5
c3RlbXRlc3QgWFhYSVYgQ0ExDjAMBgNVBAMMBUNSTDE0MB8GA1UdIwQYMBaAFM1s
aJc5chmkNatk6vQRo4GH+Gk7MB0GA1UdDgQWBBRBCneiJ1Rbm3TO7S7J+lDgRq3I
FDAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCh4sfwYmyapqcQ/hfXye+m
qJQa9pTktjU6OVZ5XwqvnMSRAwDaix6jfkW+s1CDBRdHY/vpUEczOKW6piPd6x0O
cRrKghyK138yN8472EuNb3v+A4g5AvKgtrRIojRtzUHOOQyl7e5um49WQKEsl8FV
DxFPbWjzkLHoDsgnvyLZdOR00QjKJsKYVK6Xct1Rsh5zJZE9/LHAkKx0lBCMT2Uj
rYqIj3qR+yKQLutLJxhfaAiLj9h00dVNhUQKTb6cfgPkr/+41lg7CvaVas+wDhQD
SrsaTkF54V9u+h3q8+BC3IW6ObMOz84Ws+Rbol5d7pVkVJemvYD5uqCCA+YLG3Bj</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
<AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://attributequery.test-devtest4-nemlog-in.dk/AttributeQuery.svc"/>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/uuid/persistent" FriendlyName="ProfessionalPersistentUUID" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/fullName" FriendlyName="FullName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/cprUuid" FriendlyName="CprUUID" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/dateOfBirth" FriendlyName="DateOfBirth" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/alias" FriendlyName="Alias" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/concept/core/nsis/loa" FriendlyName="NsisLoA" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/firstName" FriendlyName="FirstName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/lastName" FriendlyName="LastName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/email" FriendlyName="Email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/cprNumber" FriendlyName="Cpr" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/age" FriendlyName="Age" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/person/pid" FriendlyName="Pid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/rid" FriendlyName="Rid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/cvr" FriendlyName="Cvr" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/orgName" FriendlyName="OrganizationName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/productionUnit" FriendlyName="ProductionUnit" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/seNumber" FriendlyName="SeNumber" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
<a:RequestedAttribute Name="https://data.gov.dk/model/core/eid/professional/authorizedToRepresent" FriendlyName="AuthorizedToRepresent" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" isRequired="true"/>
</AttributeAuthorityDescriptor>
<ContactPerson contactType="technical">
<Company>Styrelsen for Arbejdsmarked og Rekruttering</Company>
<GivenName>Søren</GivenName>
<SurName>Hansen</SurName>
<EmailAddress>soh@star.dk</EmailAddress>
<TelephoneNumber>72217543</TelephoneNumber>
</ContactPerson>
</EntityDescriptor>