OpenID server ============= .. danger:: OpenID protocol is deprecated, you should now use :doc:`OpenID Connect`\ Presentation ------------ LL::NG can act as an OpenID 2.0 Server, that can allow one to federate LL::NG with: - Another LL::NG system configured with :doc:`OpenID authentication` - Any OpenID consumer LL::NG is compatible with the OpenID Authentication protocol `version 2.0 `__ and `version 1.0 `__. It can be used just to share authentication or to share user's attributes following the `OpenID Simple Registration Extension 1.0 (SREG) `__ specification. When LL::NG is configured as OpenID identity provider, users can share their authentication using [PORTAL]/openidserver/[login] where: - [PORTAL] is the portal URL - [login] is the user login (or any other session information, :ref:`see below`) Example: :: http://auth.example.com/openidserver/foo.bar .. _idpopenid-configuration: Configuration ------------- In the Manager, go in ``General Parameters`` » ``Issuer modules`` » ``OpenID`` and configure: - **Activation**: set to ``On`` - **Path**: keep ``^/openidserver/`` unless you have change :ref:`Apache portal configuration` file. - **Use rule**: a rule to allow user to use this module, set to 1 to always allow. .. tip:: For example, to allow only users with a strong authentication level: :: $authenticationLevel > 2 Then go in ``Options`` to define: - **Secret token**: a secret token used to secure transmissions between OpenID client and server (:ref:`see below`). - **OpenID login**: the session key used to match OpenID login. - **Authorized domains**: white list or black list of OpenID client domains (:ref:`see below`). - **SREG mapping**: link between SREG attributes and session keys (:ref:`see below`). .. tip:: If ``OpenID login`` is not set, it uses ``General Parameters`` » ``Logs`` » ``REMOTE_USER`` data, which is set to ``uid`` by default .. _idpopenid-shared-attributes-sreg: Shared attributes (SREG) ~~~~~~~~~~~~~~~~~~~~~~~~ `SREG `__ permit the share of 8 attributes: - Nick name - Email - Full name - Date of birth - Gender - Postal code - Country - Language - Timezone Each SREG attribute will be associated to a user session key. A session key can be associated to more than one SREG attribute. .. note:: If the OpenID consumer ask for data, users will be prompted to accept or not the data sharing. .. _idpopenid-security: Security ~~~~~~~~ - LL::NG can be configured to restrict OpenID exchange using a white or a black list of domains. - If not set, the secret token is calculated using the general encryption key. .. attention:: Note that :doc:`SAML` protocol is more secured than OpenID, so when your partners are known, prefer :doc:`SAML`.