From bbd7bfed14df747c2af40633a00d31ef7c42e9e5 Mon Sep 17 00:00:00 2001 From: Thomas Nymand Date: Mon, 6 Jul 2026 15:24:35 +0200 Subject: [PATCH] REF-14: Convert Word documentation to Markdown and merge into README Convert 'doc/Using OIOSAML for Java.docx' to Markdown and merge it with the existing README.md into a single comprehensive guide: - Fenced code blocks with language tags for all XML/Java/properties/bash snippets (previously escaped inline text). - Native Markdown tables for the DispatcherServlet/AuthenticatedFilter/ AppSwitch configuration parameters. - Anchor-based table of contents and working intra-document cross-references. - Extracted the embedded image to doc/assets/demo-application.png. - Preserved the existing README content (version mapping, release notes link, Windows SSL trust setup, integration test instructions). - Corrected content against the current source: refreshed the demo module file tree, bumped the documented release/dependency versions to 3.2.2, made the SameSite filter value (None) explicit, and restored the SessionHandler- Factory interface throws clauses. Remove the now-redundant Word document. Co-Authored-By: Claude Opus 4.8 (1M context) --- README.md | 538 +++++++++++++++++++++++++++++++- doc/Using OIOSAML for Java.docx | Bin 72454 -> 0 bytes doc/assets/demo-application.png | Bin 0 -> 77781 bytes 3 files changed, 526 insertions(+), 12 deletions(-) delete mode 100644 doc/Using OIOSAML for Java.docx create mode 100644 doc/assets/demo-application.png diff --git a/README.md b/README.md index 9af66ff..b270e5f 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,534 @@ -# Nota bene +# OIOSAML.Java -Please note that the tagged version in Git does not follow the OIO SAML profile version. The correlation is described below +OIOSAML.Java is a SAML 2.0 framework for Java, intended for use with NemLog-in3, but it can also be used as a generic SAML framework for Java. -See content and changes of releases in [release notes](RELEASE_NOTES.md). +The framework supports the OIO SAML 3.0 profile and can generate `AuthnRequest`s and perform validation on SAML Assertions according to this profile. It works with **Java 11+**. -### OIO SAML 2 (Artifact ID: oiosaml2.java) -* OIO SAML 2.0.9: Newest Maven package release: 2.1.2 (https://mvnrepository.com/artifact/dk.digst/oiosaml2.java) -* OIO SAML 2.1.0: Newest Maven package release: 2.1.2 (https://mvnrepository.com/artifact/dk.digst/oiosaml2.java) +This document covers how to use and configure the OIOSAML.Java 3.x framework. -### OIO SAML 3 (Artifact ID: oiosaml3.java) -* OIO SAML 3.0.2: Newest Maven package release: 3.2.1 (https://mvnrepository.com/artifact/dk.digst/oiosaml3.java) +## Table of Contents -## Setup Windows SSL/TLS trust +- [Versions and releases](#versions-and-releases) +- [Overview](#overview) +- [Mandatory configuration](#mandatory-configuration) + - [DispatcherServlet](#dispatcherservlet) + - [AuthenticatedFilter](#authenticatedfilter) +- [How to configure OIOSAML](#how-to-configure-oiosaml) + - [Configure through web.xml](#configure-through-webxml) +- [Configuration parameters](#configuration-parameters) + - [DispatcherServlet parameters](#dispatcherservlet-parameters) + - [AuthenticatedFilter parameters](#authenticatedfilter-parameters) + - [DispatcherServlet configuration from file](#dispatcherservlet-configuration-from-file) + - [Multiple AuthenticatedFilters and step-up](#multiple-authenticatedfilters-and-step-up) + - [AppSwitch extension](#appswitch-extension) +- [Additional configuration](#additional-configuration) +- [Maven dependency](#maven-dependency) +- [Demo application](#demo-application) +- [Logging](#logging) +- [Audit logging](#audit-logging) +- [OIOSAML session handling](#oiosaml-session-handling) +- [Test Identity Provider](#test-identity-provider) +- [Building and testing](#building-and-testing) -Run the script 'misc/setup_prerequisites.ps1' from an elevated PowerShell. This installs the required CA certificate. +## Versions and releases -## Running the Integration test +Please note that the tagged version in Git does **not** follow the OIO SAML profile version. The correlation is described below. -To run the IntegrationTest you need to have a `chromedriver.exe` executable in the folder C:\tools\ +See content and changes of releases in the [release notes](RELEASE_NOTES.md). + +### OIO SAML 2 — Artifact ID `oiosaml2.java` + +| OIO SAML profile | Latest Maven release | +|------------------|----------------------| +| 2.0.9 | 2.1.2 | +| 2.1.0 | 2.1.2 | + +Available on [Maven Central](https://mvnrepository.com/artifact/dk.digst/oiosaml2.java). + +### OIO SAML 3 — Artifact ID `oiosaml3.java` + +| OIO SAML profile | Latest Maven release | +|------------------|----------------------| +| 3.0.2 | 3.2.2 | + +Available on [Maven Central](https://mvnrepository.com/artifact/dk.digst/oiosaml3.java). + +> **Version 3.0.0 note:** Version 3.0.0 was released before NemLog-in3 was ready for use, so implementation and testing were performed against NemLog-in2. It is therefore not certain that version 3.0.0 will function optimally against NemLog-in3. It is recommended to upgrade to the latest 3.x version. + +## Overview + +The framework consists of two primary classes, which must be configured to use the framework: + +- `dk.gov.oio.saml.servlet.DispatcherServlet` +- `dk.gov.oio.saml.filter.AuthenticatedFilter` + +The first is a `Servlet` implementation that must be exposed on `/saml/*`, so it can manage all SAML related requests. + +The second is a `Filter` implementation that should be placed in front of any web-resources that require the user to be authenticated. It ensures that the user goes through the SAML login process before they can access the web-resource that the filter is placed in front of. + +## Mandatory configuration + +Both the `DispatcherServlet` and the `AuthenticatedFilter` require some minimum configuration before they can be used. The full configuration of both classes is described in the following chapters, but for a quick setup the following is the only required configuration. + +### DispatcherServlet + +The `DispatcherServlet` must be configured with the following information before it can be used: + +- KeyStore configuration, used for signing `AuthnRequest`s and decrypting SAML responses +- SAML EntityID for the application +- BaseURL to be used for SAML metadata generation +- IdP metadata reference (URL or file) + +With these settings in place, the `DispatcherServlet` will function. More configuration is possible, as documented in the following chapters. + +### AuthenticatedFilter + +The `AuthenticatedFilter` has no mandatory configuration settings. If not configured, it will use the default settings as documented in the following chapters. + +## How to configure OIOSAML + +All configuration is done through the servlet and filter classes, and the configuration is supplied through the `FilterConfig` and `ServletConfig` classes supplied when creating a servlet or filter in Java. + +How this is done depends on the specific application framework used together with OIOSAML.Java, but the most common way is to configure servlets and filters through a `web.xml` deployment file, as shown below. + +### Configure through web.xml + +If the Java application contains a `web.xml` deployment file, this can be used to configure any servlets and filters in the application, including OIOSAML.Java. + +The `DispatcherServlet` can be configured in the following way (see [Configuration parameters](#configuration-parameters) below for which keys and values can be used in the `init-param` sections): + +```xml + + DispatcherServlet + dk.gov.oio.saml.servlet.DispatcherServlet + + CONFIG_KEY_1 + CONFIG_VALUE_1 + + + CONFIG_KEY_2 + CONFIG_VALUE_2 + + + 1 + +``` + +And then deployed with the following section: + +```xml + + DispatcherServlet + /saml/* + +``` + +Similarly, the `AuthenticatedFilter` can be configured and deployed like this: + +```xml + + AuthenticatedFilter + dk.gov.oio.saml.filter.AuthenticatedFilter + + CONFIG_KEY_1 + CONFIG_VALUE_1 + + + + + AuthenticatedFilter + /protected/* + +``` + +Configuration of the `SessionDestroyListener` also needs to be added, so that sessions destroyed by the server are also removed from the OIOSAML session handler. The configuration is as follows: + +```xml + + dk.gov.oio.saml.session.SessionDestroyListener + +``` + +## Configuration parameters + +This chapter describes all the configuration parameters and their default values. + +### DispatcherServlet parameters + +| Setting | Mandatory | Default value | Description | +|---------|-----------|---------------|-------------| +| `oiosaml.servlet.entityid` | Yes | | The EntityID which identifies the application as a Service Provider, e.g. `http://saml.serviceprovider.com`. | +| `oiosaml.servlet.baseurl` | Yes | | The URL on which the application is accessible in a web-browser. The value is used to generate SAML metadata, which must contain login/logout URL endpoints, e.g. `https://serviceprovider.com`. The value above results in generated metadata URLs like `https://serviceprovider.com/saml/assertionConsumer`. | +| `oiosaml.servlet.keystore.location` | Yes | | The name of the PKCS#12 keystore file, located on the classpath of the application. | +| `oiosaml.servlet.keystore.password` | Yes | | The password to the PKCS#12 keystore given above. | +| `oiosaml.servlet.keystore.alias` | Yes | | The alias of the key entry in the PKCS#12 keystore given above. | +| `oiosaml.servlet.idp.entityid` | Yes | | The EntityID of the SAML Identity Provider that is used for login. | +| `oiosaml.servlet.idp.metadata.file` | Partially | | A FILE reference to the SAML Identity Provider metadata. The file must be located on the classpath of the application. Note that either a FILE or URL reference is required. | +| `oiosaml.servlet.idp.metadata.url` | Partially | | A URL reference to the SAML Identity Provider metadata. Note that either a FILE or URL reference is required. | +| `oiosaml.servlet.configurationfile` | No | | A FILE reference to a configuration file. If supplied, the `DispatcherServlet` will read its configuration from that file instead of the `ServletConfig` section. See [DispatcherServlet configuration from file](#dispatcherservlet-configuration-from-file). | +| `oiosaml.servlet.profile.validation.enabled` | No | `true` | By default, the framework performs OIO SAML 3.0 profile validation. If this is not needed, turn off this setting by setting the value to `false`. | +| `oiosaml.servlet.profile.validation.assurancelevel.allowed` | No | `false` | The NemLog-in IdP cannot for all authentication provide a NSIS LoA. Therefore the service provider can decide to accept the AssuranceLevel which the NemLog-in IdP provides instead. If this is not acceptable, turn off this setting by omitting it or setting the value to `false`. | +| `oiosaml.servlet.profile.validation.assurancelevel.minimum` | No | `3` | If the AssuranceLevel is acceptable, a minimum value can be specified using this setting. Any integer is accepted, however the NemLog-in IdP will never provide an integer larger than 3. | +| `oiosaml.servlet.metadata.nameid.format` | No | `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent` | By default, the framework generates SAML metadata that contains a requested NameID format with this value. To change the value, enter another SAML NameID format. | +| `oiosaml.servlet.metadata.contact.email` | No | | By default, the framework does not generate a Contact section in the SAML metadata. Supply an email address here if a Contact section is needed. | +| `oiosaml.servlet.idp.metadata.refresh.min` | No | `1` | By default, the framework attempts to refresh the Identity Provider metadata sometime between 1 and 12 hours. Change this value to change the lower bound of the interval (in hours). | +| `oiosaml.servlet.idp.metadata.refresh.max` | No | `12` | By default, the framework attempts to refresh the Identity Provider metadata sometime between 1 and 12 hours. Change this value to change the upper bound of the interval (in hours). | +| `oiosaml.servlet.secondary.keystore.location` | No | | Configured like the primary keystore above, but allows adding a second certificate to the SAML metadata, allowing for changing the certificate with low to no downtime. Requires the SAML Identity Provider to support multiple certificates. | +| `oiosaml.servlet.secondary.keystore.password` | No | | Configured like the primary keystore above, but allows adding a second certificate to the SAML metadata, allowing for changing the certificate with low to no downtime. Requires the SAML Identity Provider to support multiple certificates. | +| `oiosaml.servlet.secondary.keystore.alias` | No | | Configured like the primary keystore above, but allows adding a second certificate to the SAML metadata, allowing for changing the certificate with low to no downtime. Requires the SAML Identity Provider to support multiple certificates. | +| `oiosaml.servlet.signature.algorithm` | No | `http://www.w3.org/2001/04/xmldsig-more#rsa-sha256` | By default, the RSA SHA256 algorithm is used for signing. Change this value if another algorithm is needed. | +| `oiosaml.servlet.secondary.page.error` | No | | The framework has a built-in error page, which is shown in case of SAML related errors. Set this value to redirect the user to another webpage in case of errors. See [Additional configuration](#additional-configuration) for details on getting error information. | +| `oiosaml.servlet.secondary.page.logout` | No | | The framework redirects the user to the context root of the web application after a successful logout. Set this value to redirect the user to another webpage instead of the context root. | +| `oiosaml.servlet.secondary.page.login` | No | | When the login process completes, the framework attempts to redirect the user to the web-resource they tried to access before login started. If this fails, the framework redirects to the page specified by the value. If no value is specified, the context root of the application is used. | +| `oiosaml.servlet.trust.selfsigned.certs` | No | `false` | By default, the framework performs certificate validation when accessing HTTPS-protected resources like SAML metadata. Set this value to `true` to disable certificate validation. | +| `oiosaml.servlet.revocation.crl.check.enabled` | No | `true` | By default, the framework performs revocation checking using OCSP and CRL. Set this value to `false` to disable CRL revocation checking. | +| `oiosaml.servlet.revocation.ocsp.check.enabled` | No | `true` | By default, the framework performs revocation checking using OCSP and CRL. Set this value to `false` to disable OCSP revocation checking. | +| `oiosaml.servlet.routing.path.prefix` | No | `saml` | Routing configuration: servlet path prefix for the OIO dispatch servlet. Change this to change where the OIOSAML 3 endpoint is mounted in the application context (`oiosaml.servlet.baseurl`). Example: with the default, the logout action is hit at `/{prefix}/{suffix.logout}` = `/saml/logout`. | +| `oiosaml.servlet.routing.path.suffix.error` | No | `error` | Routing configuration: servlet error path. | +| `oiosaml.servlet.routing.path.suffix.metadata` | No | `metadata` | Routing configuration: servlet metadata path. | +| `oiosaml.servlet.routing.path.suffix.logout` | No | `logout` | Routing configuration: servlet logout path. | +| `oiosaml.servlet.routing.path.suffix.logoutResponse` | No | `logoutResponse` | Routing configuration: servlet logoutResponse path. | +| `oiosaml.servlet.routing.path.suffix.assertion` | No | `assertionConsumer` | Routing configuration: servlet assertionConsumer path. | +| `oiosaml.servlet.audit.logger.classname` | No | `dk.gov.oio.saml.audit.Slf4JAuditLogger` | Class reference for the AuditLogger used in the project. See [Audit logging](#audit-logging). | +| `oiosaml.servlet.audit.logger.attribute.ip` | No | `request:remoteAddr` | Used in audit logging to look up and log the user's IP address. See [Audit logging](#audit-logging). | +| `oiosaml.servlet.audit.logger.attribute.port` | No | `request:remotePort` | Used in audit logging to look up and log the user's port. See [Audit logging](#audit-logging). | +| `oiosaml.servlet.audit.logger.attribute.userid` | No | `request:remoteUser` | Used in audit logging to look up and log the user's UserId in the SP application. See [Audit logging](#audit-logging). | +| `oiosaml.servlet.audit.logger.attribute.sessionId` | No | `request:sessionId` | Used in audit logging to look up and log the user's SessionId in the SP application. See [Audit logging](#audit-logging). | +| `oiosaml.servlet.session.handler.factory` | No | `dk.gov.oio.saml.session.inmemory.InMemorySessionHandlerFactory` | Class reference for the `SessionHandlerFactory` used when handling sessions. The following factories already exist in the project: `dk.gov.oio.saml.session.database.JdniSessionHandlerFactory`, `dk.gov.oio.saml.session.database.JdbcSessionHandlerFactory`, `dk.gov.oio.saml.session.inmemory.InMemorySessionHandlerFactory`. | +| `oiosaml.servlet.session.handler.jdni.name` | No | | Configuration parameter for the JNDI session handler factory (`JdniSessionHandlerFactory`). JNDI name for the database, e.g. `jdbc:h2:mem:mydb`. | +| `oiosaml.servlet.session.handler.jdbc.url` | No | | Configuration parameter for the JDBC session handler factory (`JdbcSessionHandlerFactory`). JDBC connection URL for the database, e.g. `jdbc:mysql://@localhost:3306/oiosaml`. | +| `oiosaml.servlet.session.handler.jdbc.username` | No | | Configuration parameter for the JDBC session handler factory (`JdbcSessionHandlerFactory`). JDBC connection username, e.g. `username`. | +| `oiosaml.servlet.session.handler.jdbc.password` | No | | Configuration parameter for the JDBC session handler factory (`JdbcSessionHandlerFactory`). JDBC connection password, e.g. `password`. | +| `oiosaml.servlet.session.handler.jdbc.driver.classname` | No | | Configuration parameter for the JDBC session handler factory (`JdbcSessionHandlerFactory`). JDBC driver class name for the connection, e.g. for MySQL: `com.mysql.cj.jdbc.Driver`. Remember to add the driver dependency in the POM. | +| `oiosaml.servlet.session.handler.inmemory.max.tracked.assertionids` | No | `10000` | Configuration parameter for the in-memory session handler factory (`InMemorySessionHandlerFactory`). The maximum number of tracked Assertion IDs used to ensure that requests are not replayed. Old elements are removed first. | + +### AuthenticatedFilter parameters + +| Setting | Mandatory | Default value | Description | +|---------|-----------|---------------|-------------| +| `oiosaml.filter.ispassive.enabled` | No | `false` | If the filter should send `AuthnRequest`s with `isPassive=true`, set this value to `true`. | +| `oiosaml.filter.forceauthn.enabled` | No | `false` | If the filter should send `AuthnRequest`s with `forceAuthn=true`, set this value to `true`. | +| `oiosaml.filter.nsis.required` | No | `NONE` | If a minimum NSIS level is required, set the value to one of `LOW`, `SUBSTANTIAL` or `HIGH`. The filter will generate an `AuthnRequest` that contains the required value and validate that the issued Assertion contains at least this value. When set to `NONE`, an issued Assertion with any AssuranceLevel is implicitly accepted. | +| `oiosaml.filter.attribute.profile` | No | | If a specific profile is required in the assertion from the IdP (Person or Professional), set this value to one of `https://data.gov.dk/eid/Person` or `https://data.gov.dk/eid/Professional`. The filter will generate an `AuthnRequest` with the requested profile and perform validation on the issued Assertion. | + +### DispatcherServlet configuration from file + +If the `oiosaml.servlet.configurationfile` setting is supplied to the `DispatcherServlet`, it will read its configuration from the supplied file instead. This file should be an ordinary property file, supplying properties as key/value pairs like the example below: + +```properties +oiosaml.servlet.idp.entityid=https://saml.test-nemlog-in.dk/ +oiosaml.servlet.idp.metadata.url=https://test-nemlog-in.dk/Testportal/Test-nemlog-in-2.xml +``` + +### Multiple AuthenticatedFilters and step-up + +It is possible to configure multiple `AuthenticatedFilter`s, each with its own configuration. One common use case for this is requiring different NSIS levels for different resources in the application. + +If both a `LOW` and a `SUBSTANTIAL` filter is configured, and the user tries to access a resource protected by the `LOW` filter, then the `AuthnRequest` will inform the Identity Provider that the user only needs to perform a NSIS LOW login. If the user then later tries to access a resource protected by the `SUBSTANTIAL` filter, it will perform a step-up and ask the Identity Provider to increase the NSIS level by performing additional authentication with the user. + +### AppSwitch extension + +When using the AppSwitch extension for an iOS or Android app, the following configuration parameters should be defined. + +| Setting | Mandatory | Default value | Description | +|---------|-----------|---------------|-------------| +| `oiosaml.appswitch.returnurl.android` | No | empty | Should contain the dynamic link for the Android application. | +| `oiosaml.appswitch.returnurl.ios` | No | empty | Should contain the universal link for the iOS application. | + +Triggering the AppSwitch extension is done by adding the `appSwitchPlatform=` parameter to the URL when starting an authentication flow, where `` is either `Android` or `iOS`. The `appSwitchPlatform` parameter is case-insensitive. + +## Additional configuration + +As SAML requires cross-domain configuration, and modern browsers by default prevent sending cookies on cross-domain requests, SAML login can under certain circumstances fail because no session can be found when parsing the response from the SAML Identity Provider. + +One solution is to ensure that the `SameSite` attribute is set to `None` when issuing sessions. If this can be done in a controlled fashion from the application itself, that is fine. + +If not, the OIOSAML framework supplies a filter that can be used for setting the `SameSite` attribute to `None` on all issued cookies. + +> **Note!** If the `SameSite` attribute is already set to some value, the filter will **not** modify the attribute. It will only set the `SameSite` attribute on cookies that do not already have that attribute. + +The `SameSite` filter must be configured to run before any other filters that may create sessions. When using `web.xml` as a deployment mechanism, this is done by placing the `SameSite` filter before the other filters (e.g. above the `AuthenticatedFilter` in `web.xml`). + +There is no configuration of the filter, just deployment as shown in the example below: + +```xml + + SameSiteFilter + dk.gov.oio.saml.filter.SameSiteFilter + + + + SameSiteFilter + /* + +``` + +## Maven dependency + +OIOSAML is released as a publicly available Maven dependency and can be included as shown below. Make sure to change the version number to the latest version. + +```xml + + dk.digst + oiosaml3.java + 3.2.2 + +``` + +## Demo application + +A demo application is supplied with the OIOSAML.Java source code. The demo application shows how to use the OIOSAML framework and contains the following structure: + +```text +├── pom.xml +└── src + └── main + ├── resources + │ ├── keystore.p12 + │ ├── log4j2.properties + │ ├── oiosaml.properties + │ ├── test-devtest4-idp-metadata.xml + │ └── Test-nemlog-in-2.xml + └── webapp + ├── appswitch + │ └── private.jsp + ├── error.jsp + ├── index.jsp + ├── low + │ └── private.jsp + ├── nonsis + │ └── private.jsp + ├── substantial + │ └── private.jsp + └── WEB-INF + └── web.xml +``` + +The `resources` folder contains the keystore and IdP metadata used by the application. The rest of the `src` folder contains the web application, with the following files being relevant. + +### oiosaml.properties + +The demo application uses an external file for configuring the `DispatcherServlet`, and the configuration can be found here. + +### web.xml + +The demo application shows how to configure the `DispatcherServlet` and `AuthenticatedFilter` (with step-up) in the `web.xml` file. + +### private.jsp + +Finally, there are three folders, each containing identical JSP files. These files are protected by the `AuthenticatedFilter` by various NSIS level requirements and will show the content of the issued SAML assertion. + +### Running the demo application + +Compiling and running the demo application is performed with Maven like this: + +```bash +$ mvn clean install tomcat7:run-war +``` + +> Note that Tomcat 7 performs some validation on class files during startup, which has some issues with JAXB. This results in warnings that can safely be ignored. Tomcat 8 does not have these issues. + +Once the application is running, it can be accessed at . + +It should show a page that looks like this: + +Demo application + +The various links will either download the SAML metadata generated by the demo application or attempt to access one of the protected resources. + +## Logging + +OIOSAML uses SLF4J as its logging framework, as does OpenSAML, but OpenSAML has dependencies that require JCL and Log4j. + +To implement a logging framework in OIOSAML we need to bridge JCL and Log4j to SLF4J and choose an output logging framework. + +Bridging JCL and Log4j to SLF4J is done by including these dependencies in the demo project: + +```xml + + org.slf4j + slf4j-api + 1.7.32 + + + + org.slf4j + jcl-over-slf4j + 1.7.32 + + + + org.slf4j + log4j-over-slf4j + 1.7.32 + +``` + +Customizing your logging solution is then done by selecting an implementation. If you need to write log output to your own custom implementation of a logging framework, the simplest solution is to fork [slf4j-simple](https://github.com/qos-ch/slf4j/tree/master/slf4j-simple) and write your own implementation of `SimpleLogger` (look at `innerHandleNormalizedLoggingCall()`). + +To write logging using Log4j 2 like in the demo project, just add this dependency: + +```xml + + org.apache.logging.log4j + log4j-slf4j-impl + 2.14.1 + +``` + +Most logging frameworks have an SLF4J implementation or bridge. Implementing logging in your project comes down to adding dependencies to forward logging from OIOSAML and its dependencies to your preferred logging framework. + +## Audit logging + +The audit logging must be persisted for 6 months and contain information relevant to use of the functionality exposed in the OIOSAML service. + +The audit log is channeled through the `AuditLogger` interface, which can be overridden in configuration by providing your own implementation via the configuration property `oiosaml.servlet.audit.logger.classname`. + +If you use the default SLF4J implementation, it is important to configure logging so that the audit log output is persisted for 6 months. The `Slf4JAuditLogger` implementation adds an `AUDIT` tag to log messages, that can be used to store audit logging separate from regular application logging. + +### Implementing a custom AuditLogger + +To replace the default SLF4J audit logger, you can implement your own `AuditLogger` by providing an implementation of `dk.gov.oio.saml.audit.AuditLogger` in the configuration like this: + +```properties +oiosaml.servlet.audit.logger.classname=dk.gov.oio.saml.audit.Slf4JAuditLogger +``` + +Take a look at `dk.gov.oio.saml.audit.Slf4JAuditLogger` for inspiration. To support a JPA-based implementation, just remember that we need a default constructor and that injection will not work out of the box. + +### Configuring audit logging + +You can customize content in the audit logging for a few attributes: IP, Port, UserId and SessionId. This is done by providing values for these configuration parameters: + +```properties +oiosaml.servlet.audit.logger.attribute.ip=request:remoteAddr +oiosaml.servlet.audit.logger.attribute.port=request:remotePort +oiosaml.servlet.audit.logger.attribute.userid=request:remoteUser +oiosaml.servlet.audit.logger.attribute.sessionId=request:sessionId +``` + +The configuration values conform to the following EBNF syntax: + +```ebnf + ::= : + ::= |
| | | + ::= Name of an attribute accessible from the selected protocol. + ::= Access to GET and form POST query parameters/attributes. +
::= Access to request header names, as parameters/attributes. + ::= Access to request cookie names, as parameters/attributes. + ::= Access to session values, i.e. to access SessionId for logging. + ::= remoteHost | remoteAddr | remotePort | remoteUser (from the servlet request) +``` + +To use the `JSESSIONID` cookie as SessionId in the audit log, add the following to your OIOSAML configuration: + +```properties +oiosaml.servlet.audit.logger.attribute.sessionId=cookie:JSESSIONID +``` + +## OIOSAML session handling + +Session handling in OIOSAML is configured in `oiosaml.properties` by providing a factory for creating the session handler and its configuration. The class reference to the session handler factory is provided by setting the configuration property `oiosaml.servlet.session.handler.factory`. + +The following session handler factories are provided in the OIOSAML project: + +- `InMemorySessionHandlerFactory` +- `JdbcSessionHandlerFactory` +- `JdniSessionHandlerFactory` + +You can provide your own implementation based on the `SessionHandlerFactory` interface: + +```java +public interface SessionHandlerFactory { + void configure(Configuration config) throws InitializationException; + SessionHandler getHandler() throws InternalException; + void close(); +} +``` + +Take a look at the provided implementations for inspiration. You will need your own implementation if performance is an issue, i.e. to ensure that connections are provided by a connection pool, or if you would like to optimize the solution with caching. + +### In-memory session handling + +This is the default session handler. + +The in-memory session handler is a simple implementation that stores all values on the HTTP session. Its only configuration property is `oiosaml.servlet.session.handler.inmemory.max.tracked.assertionids`, which limits the size of the list containing requested Assertion IDs used to prevent replay. + +### Database session handling + +OIOSAML contains two database session handler factories for initializing session handling on a database using JNDI or JDBC. + +Initializing the database to use the OIOSAML database session handler is done by executing the DDL script included in the `/misc` folder (`database_session_handler.sql`). The script will create a database and tables for the database session handler. + +The sample configuration below can be used on a default installation of MySQL if you start by executing the `database_session_handler.sql` script on the database (set passwords and create application users as needed). + +#### Sample JNDI configuration + +```properties +oiosaml.servlet.session.handler.factory=dk.gov.oio.saml.session.database.JdniSessionHandlerFactory +oiosaml.servlet.session.handler.jdni.name=jdbc:h2:mem:oiosaml +``` + +#### Sample JDBC configuration + +```properties +oiosaml.servlet.session.handler.factory=dk.gov.oio.saml.session.database.JdbcSessionHandlerFactory +oiosaml.servlet.session.handler.jdbc.url=jdbc:mysql://@localhost:3306/oiosaml +oiosaml.servlet.session.handler.jdbc.username=root +oiosaml.servlet.session.handler.jdbc.password= +oiosaml.servlet.session.handler.jdbc.driver.classname=com.mysql.cj.jdbc.Driver +``` + +### Configuration of session cleanup + +OIOSAML has two cleanup jobs: one to ensure that inactive sessions are removed, and one to ensure that HTTP sessions that have been destroyed are also removed from the OIOSAML session handler. + +Both the session handler and the session cleaner service are initialized in `OIOSAML3Service`, but the `SessionDestroyListener` is set up in the demo project as part of the `web.xml`. The configuration is as follows: + +```xml + + dk.gov.oio.saml.session.SessionDestroyListener + +``` + +If you are unable to use this `SessionDestroyListener` as is, you will need to provide something similar to remove sessions that have been invalidated outside OIOSAML. + +## Test Identity Provider + +A test Identity Provider is supplied with the OIOSAML.Java source code. It is primarily used for manual testing when developing the OIOSAML.Java framework and should not be considered a production-ready Identity Provider. + +The demo application can be used with the test Identity Provider by modifying the `oiosaml.properties` file in the demo application to point to the test Identity Provider. Commented-out configuration should be available for easy access. + +### Configuration + +In the `config` folder found in the IdP module, there is an `application.properties` file containing the various settings for the IdP. + +The important section is "Test Cases", which lists all the usernames and passwords that can be used with the test IdP. Each username has a set of attributes assigned to them, which can be modified here. They are used to test various OIOSAML profile scenarios. + +### Compilation + +The test IdP requires Java 11 and is compiled using Maven with the following command: + +```bash +$ mvn clean install +``` + +### Execution + +The test IdP is built using the Spring Framework and can be started using the Spring Maven plugin like this: + +```bash +$ mvn spring-boot:run +``` + +When running, the IdP is available on port 7080 (the port can be changed in `application.properties`). + +## Building and testing + +### Setup Windows SSL/TLS trust + +Run the script `misc/setup_prerequisites.ps1` from an elevated PowerShell. This installs the required CA certificate. + +### Running the integration test + +To run the integration test you need to have a `chromedriver.exe` executable in the folder `C:\tools\`. diff --git a/doc/Using OIOSAML for Java.docx b/doc/Using OIOSAML for Java.docx deleted file mode 100644 index 1a4944ca5aecc1a5cd6c3221a8be348e8a6c9f7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72454 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 E7qB3FkpKVy diff --git a/doc/assets/demo-application.png b/doc/assets/demo-application.png new file mode 100644 index 0000000000000000000000000000000000000000..23de2c2d53e5dc32ddbfc786f190e527b438ff31 GIT binary patch literal 77781 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