@@ -13,7 +13,7 @@ Currently supported flows are:
1313
1414[ ![ Build Status] ( https://github.com/simplesamlphp/simplesamlphp-module-oidc/actions/workflows/test.yaml/badge.svg )] ( https://github.com/simplesamlphp/simplesamlphp-module-oidc/actions/workflows/test.yaml )
1515[ ![ Coverage Status] ( https://codecov.io/gh/simplesamlphp/simplesamlphp-module-oidc/branch/master/graph/badge.svg )] ( https://app.codecov.io/gh/simplesamlphp/simplesamlphp-module-oidc )
16- [ ![ SimpleSAMLphp] ( https://img.shields.io/badge/simplesamlphp-2.1 -brightgreen )] ( https://simplesamlphp.org/ )
16+ [ ![ SimpleSAMLphp] ( https://img.shields.io/badge/simplesamlphp-2.3 -brightgreen )] ( https://simplesamlphp.org/ )
1717
1818![ Main screen capture] ( docs/oidc.png )
1919
@@ -112,17 +112,27 @@ Once the module is enabled, the database migrations must be run.
112112### Run database migrations
113113
114114The module comes with some default SQL migrations which set up needed tables in the configured database. To run them,
115- go to ` OIDC ` > ` Database Migrations ` , and press the available button.
115+ in the SimpleSAMLphp administration area go to ` OIDC ` > ` Database Migrations ` , and press the available button.
116116
117117Alternatively, in case of automatic / scripted deployments, you can run the 'install.php' script from the command line:
118118
119119 php modules/oidc/bin/install.php
120120
121+ ### Protocol Artifacts Caching
122+
123+ The configured database serves as the primary storage for protocol artifacts, such as access tokens, authorization
124+ codes, refresh tokens, clients, and user data. In production environments, it is recommended to also set up caching
125+ for these artifacts. The cache layer operates in front of the database, improving performance, particularly during
126+ sudden surges of users attempting to authenticate. The implementation leverages the Symfony Cache component, allowing
127+ the use of any compatible Symfony cache adapter. For more details on configuring the protocol cache, refer to the
128+ module configuration file.
129+
121130### Relying Party (RP) Administration
122131
123132The module lets you manage (create, read, update and delete) approved RPs from the module user interface itself.
124133
125- Once the database schema has been created, you can go to ` OIDC ` > ` Client Registry ` .
134+ Once the database schema has been created, in the SimpleSAMLphp administration area go to ` OIDC ` >
135+ ` Client Registry ` .
126136
127137Note that clients can be marked as confidential or public. If the client is not marked as confidential (it is public),
128138and is using Authorization Code flow, it will have to provide PKCE parameters during the flow.
@@ -136,12 +146,9 @@ to be enabled and configured.
136146
137147### Endpoint locations
138148
139- Once you deployed the module, you will need the exact endpoint urls the module provides to configure the relying parties.
140- You can visit the discovery endpoint to learn this information:
141-
142- ` <basepath>/module.php/oidc/.well-known/openid-configuration `
143-
144- This endpoint can be used to set up a ` .well-known ` URL (see below).
149+ Once you deploy the module, in the SimpleSAMLphp administration area go to ` OIDC ` and then select the
150+ Protocol / Federation Settings page to see the available discovery URLs. These URLs can then be used to set up a
151+ ` .well-known ` URLs (see below).
145152
146153### Note when using Apache web server
147154
@@ -161,6 +168,20 @@ SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
161168```
162169Choose the one which works for you. If you don't set it, you'll get a warnings about this situation in your logs.
163170
171+ ### Note on OpenID Federation (OIDF) support
172+
173+ OpenID Federation support is in "draft" phase, as is the
174+ [ specification] ( https://openid.net/specs/openid-federation-1_0 ) itself. This means that you can expect braking changes
175+ in future releases related to OIDF capabilities. You can enable / disable OIDF support at any time in module
176+ configuration.
177+
178+ Currently, the following OIDF features are supported:
179+ * endpoint for issuing configuration entity statement (statement about itself)
180+ * fetch endpoint for issuing statements about subordinates (registered clients)
181+ * automatic client registration using a Request Object
182+
183+ OIDF support is implemented using the underlying [ SimpleSAMLphp OpenID library] ( https://github.com/simplesamlphp/openid ) .
184+
164185## Additional considerations
165186### Private scopes
166187
@@ -343,7 +364,7 @@ You may view the OIDC configuration endpoint at `https://localhost/.well-known/o
343364To test local changes against another DB, such as Postgres, we need to:
344365
345366* Create a docker network layer
346- * Run a DB container ( and create a DB if one doesn't exist)
367+ * Run a DB container (and create a DB if one doesn't exist)
347368* Run SSP and use the DB container
348369
349370```
0 commit comments