Page History
| Navitabs | ||||
|---|---|---|---|---|
| ||||
| Children Display | ||
|---|---|---|
|
Introduktion
Formål med dokumentet
Formålet med dette dokument er at give en detaljeret beskrivelse af dem konkrete funktionalitet, der udbydes af Seal.Java anvendelsesområdet Security Token Service.
Læsevejledning
Dokumentet henvender sig primært til udviklere, der skal i gang med at anvende Seal.Java til omvekslinger i en Security Token Service.
Dokumentet bygger i høj grad på den overordnede Seal.Java - Guide til udviklere, som giver et overblik over Seal.Java og leverer i denne sammenhæng et mere dybdegående teknisk beskrivelse af den funktionalitet der udbydes i Seal.Java når den anvendes af en Security Token Service.
Overblik over funktionalitet
Seal.Java understøtter følgende omvekslinger når den anvendes i en Security Token Service:
...
Funktion
...
eHDSI
Eksempler
DGWS System ID kort
Eksempel når STS modtager et DGWS kald med et System ID kort:
| Code Block | ||
|---|---|---|
| ||
// --------------------------------------------------------------------
// 1. Factory
// --------------------------------------------------------------------
SOSIFactory factory = new SOSIFactory(new EmptyCredentialVault(), new Properties());
// --------------------------------------------------------------------
// 2. Parse STS request
// --------------------------------------------------------------------
SecurityTokenRequest request = factory.deserializeSecurityTokenRequest(securityTokenRequestXml)
// --------------------------------------------------------------------
// 3. Get ID Card
// --------------------------------------------------------------------
IDCard idCard = request.getIDCard(); |
Eksempel på det svar STS sender efter at have modtaget et DGWS kald med et System ID kort:
| Code Block | ||
|---|---|---|
| ||
// --------------------------------------------------------------------
// 1. Factory
// --------------------------------------------------------------------
SOSIFactory factory = new SOSIFactory(new EmptyCredentialVault(), new Properties());
// --------------------------------------------------------------------
// 2. Build signed ID Card
// --------------------------------------------------------------------
signedIdCard = factory.copyToVOCESSignedIdCard(idCard, ...);
// --------------------------------------------------------------------
// 3. Build STS response
// --------------------------------------------------------------------
SecurityTokenResponse response = factory.createNewSecurityTokenResponse(request);
response.setIDCard(signedIdCard); |
Dkncp Boostrap token → eHDSI Identity Token
Eksempel når STS modtager et Dkncp Bootstrap token
| Code Block | ||
|---|---|---|
| ||
// --------------------------------------------------------------------
// 1. Factory
// --------------------------------------------------------------------
EHDSIFactory factory = new EHDSIFactory();
// --------------------------------------------------------------------
// 2. Parse STS request
// --------------------------------------------------------------------
// Deserialize (parse) request:
DkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequest request = factory.createDkncpBootstrapSamlAssertionToEhdsiIdwsXuaEmployeeIdentityTokenRequestModelBuilder().build(requestDocument);
// validate request
request.validateSignatureAndTrust(holderOfKey);
request.validateHolderOfKeyRelation();
// --------------------------------------------------------------------
// 3. Get SAML Assertion
// --------------------------------------------------------------------
// Get Dkncp Bootstrap Saml Assertion
DkncpBootstrapSamlAssertion assertion = request.getDkncpBootstrapSamlAssertion();
// The Dkncp Bootstrap Assertion can be schema validated after serialize/deserialize
assertion.validateSchema();
assertion.validateSignatureAndTrust(vocesVault); |
Eksempel på det svar STS sender efter at have modtaget et Dkncp Bootstrap token:
...
| collapse | true |
|---|
...