Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
de:shibidp:config-extensions-oidc [2023/05/24 10:27] – [Plugins herunterladen] Versionsnummern aktualisiert Silke Meyer | de:shibidp:config-extensions-oidc [2024/12/06 13:37] (aktuell) – Wolfgang Pempe |
---|
root@idp:~# curl -O https://shibboleth.net/downloads/identity-provider/plugins/oidc-op/3.4.0/idp-plugin-oidc-op-distribution-3.4.0.tar.gz | root@idp:~# curl -O https://shibboleth.net/downloads/identity-provider/plugins/oidc-op/3.4.0/idp-plugin-oidc-op-distribution-3.4.0.tar.gz |
root@idp:~# curl -O https://shibboleth.net/downloads/identity-provider/plugins/oidc-op/3.4.0/idp-plugin-oidc-op-distribution-3.4.0.tar.gz.asc | root@idp:~# curl -O https://shibboleth.net/downloads/identity-provider/plugins/oidc-op/3.4.0/idp-plugin-oidc-op-distribution-3.4.0.tar.gz.asc |
| # seit OIDC-OP Plugin-Version 3.4.0 zusätzlich: |
| root@idp:~# curl -O https://shibboleth.net/downloads/identity-provider/plugins/oidc-config/1.0.1/idp-plugin-oidc-config-dist-1.0.1.tar.gz |
| root@idp:~# curl -O https://shibboleth.net/downloads/identity-provider/plugins/oidc-config/1.0.1/idp-plugin-oidc-config-dist-1.0.1.tar.gz.asc |
</code> | </code> |
| |
| |
Im IdP <nowiki><=</nowiki> 4.1.2 gibt es einen Bug (vgl. https://issues.shibboleth.net/jira/browse/IDP-1838), hier lässt sich die Kompatibilitäts-Prüfung mittels Parameter ''<nowiki>--nocheck</nowiki>'' umgehen:<code bash> | Im IdP <nowiki><=</nowiki> 4.1.2 gibt es einen Bug (vgl. https://issues.shibboleth.net/jira/browse/IDP-1838), hier lässt sich die Kompatibilitäts-Prüfung mittels Parameter ''<nowiki>--nocheck</nowiki>'' umgehen:<code bash> |
root@idp:~# /opt/shibboleth-idp/bin/plugin.sh --nocheck -i oidc-common-dist-1.1.0.tar.gz | root@idp:~# /opt/shibboleth-idp/bin/plugin.sh --nocheck -i /opt/install/oidc-common-dist-2.2.0.tar.gz |
root@idp:~# /opt/shibboleth-idp/bin/plugin.sh --nocheck -i idp-plugin-oidc-op-distribution-3.0.1.tar.gz</code> | root@idp:~# /opt/shibboleth-idp/bin/plugin.sh --nocheck -i /opt/install/idp-plugin-oidc-config-dist-1.0.1.tar.gz |
| root@idp:~# /opt/shibboleth-idp/bin/plugin.sh --nocheck -i /opt/install/idp-plugin-oidc-op-distribution-3.4.0.tar.gz</code> |
| |
Zur Konfiguration des HTTP-Proxy (IdP >= 4.1.3) müssen wir eine Datei ''/opt/install/beanfile.xml'' mit eigenen HttpClient-Parametern anlegen:<file xml /opt/install/beanfile.xml><?xml version="1.0" encoding="UTF-8"?> | Zur Konfiguration des HTTP-Proxy (IdP >= 4.1.3) müssen wir eine Datei ''/opt/install/beanfile.xml'' mit eigenen HttpClient-Parametern anlegen:<file xml /opt/install/beanfile.xml><?xml version="1.0" encoding="UTF-8"?> |
</beans></file> | </beans></file> |
| |
Und dann mit folgenden Parametern installieren:<code bash>root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -hc myHttpClient -i oidc-common-dist-1.1.0.tar.gz beanfile.xml | Und dann mit folgenden Parametern installieren:<code bash>root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -hc myHttpClient -i oidc-common-dist-2.2.0.tar.gz beanfile.xml |
root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -hc myHttpClient -i idp-plugin-oidc-op-distribution-3.0.1.tar.gz beanfile.xml</code> | root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -hc myHttpClient -i idp-plugin-oidc-op-distribution-3.4.0.tar.gz beanfile.xml</code> |
| |
==== Installation ohne HTTP-Proxy ==== | ==== Installation ohne HTTP-Proxy ==== |
<code bash>root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -i oidc-common-dist-1.1.0.tar.gz | <code bash>root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -i /opt/install/oidc-common-dist-2.2.0.tar.gz |
2021-07-21 11:07:04,309 - INFO [net.shibboleth.idp.installer.plugin.impl.PluginInstaller:233] - Installing Plugin net.shibboleth.oidc.common version 1.1.0 | 2021-07-21 11:07:04,309 - INFO [net.shibboleth.idp.installer.plugin.impl.PluginInstaller:233] - Installing Plugin net.shibboleth.oidc.common version 2.2.0 |
Installing Plugin net.shibboleth.oidc.common version 1.1.0 | Installing Plugin net.shibboleth.oidc.common version 2.2.0 |
2021-07-21 11:07:04,400 - INFO [net.shibboleth.idp.installer.BuildWar:225] - Rebuilding /opt/shibboleth-idp/war/idp.war, Version 4.1.2 | 2021-07-21 11:07:04,400 - INFO [net.shibboleth.idp.installer.BuildWar:225] - Rebuilding /opt/shibboleth-idp/war/idp.war, Version 4.1.2 |
Rebuilding /opt/shibboleth-idp/war/idp.war, Version 4.1.2 | Rebuilding /opt/shibboleth-idp/war/idp.war, Version 4.1.2 |
Creating war file /opt/shibboleth-idp/war/idp.war</code> | Creating war file /opt/shibboleth-idp/war/idp.war</code> |
| |
<code bash>root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -i idp-plugin-oidc-op-distribution-3.0.1.tar.gz | <code bash>root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -i /opt/install/idp-plugin-oidc-config-dist-1.0.1.tar.gz |
| Installing Plugin net.shibboleth.idp.plugin.oidc.config version 1.0.1 |
| Rebuilding /opt/shibboleth-idp/idp2.local/war/idp.war, Version 4.3.1 |
| Initial populate from /opt/shibboleth-idp/idp2.local/dist/webapp to /opt/shibboleth-idp/idp2.local/webpapp.tmp |
| Overlay from /opt/shibboleth-idp/idp2.local/dist/plugin-webapp to /opt/shibboleth-idp/idp2.local/webpapp.tmp |
| Overlay from /opt/shibboleth-idp/idp2.local/edit-webapp to /opt/shibboleth-idp/idp2.local/webpapp.tmp |
| Creating war file /opt/shibboleth-idp/idp2.local/war/idp.war</code> |
| |
| <code bash>root@idp:~# /opt/shibboleth-idp/bin/plugin.sh -i /opt/install/idp-plugin-oidc-op-distribution-3.4.0.tar.gz |
Plugin net.shibboleth.idp.plugin.oidc.op: Trust store folder does not exist, creating | Plugin net.shibboleth.idp.plugin.oidc.op: Trust store folder does not exist, creating |
Plugin net.shibboleth.idp.plugin.oidc.op: Trust store does not exist, creating | Plugin net.shibboleth.idp.plugin.oidc.op: Trust store does not exist, creating |
Username: Henri Mikkonen <henri.mikkonen@iki.fi> | Username: Henri Mikkonen <henri.mikkonen@iki.fi> |
[yN] y | [yN] y |
Installing Plugin net.shibboleth.idp.plugin.oidc.op version 3.0.1 | Installing Plugin net.shibboleth.idp.plugin.oidc.op version 3.4.0 |
Rebuilding /opt/shibboleth-idp/war/idp.war, Version 4.1.2 | Rebuilding /opt/shibboleth-idp/war/idp.war, Version 4.1.2 |
Initial populate from /opt/shibboleth-idp/dist/webapp to /opt/shibboleth-idp/webpapp.tmp | Initial populate from /opt/shibboleth-idp/dist/webapp to /opt/shibboleth-idp/webpapp.tmp |
</file> | </file> |
| |
Erzeugen Sie die JSON Web Keys:<code bash>root@idp:~# /opt/shibboleth-idp/bin/jwtgen.sh -t RSA -s 2048 -u sig -i defaultRSASign | tail -n +2 >/opt/shibboleth-idp/credentials/idp-signing-rs.jwk | Erzeugen Sie die JSON Web Keys:<code bash>root@idp:~# /opt/shibboleth-idp/bin/jwtgen.sh -t RSA -s 3072 -u sig -i defaultRSASign | tail -n +2 >/opt/shibboleth-idp/credentials/idp-signing-rs.jwk |
root@idp:~# /opt/shibboleth-idp/bin/jwtgen.sh -t EC -c P-256 -u sig -i defaultECSign | tail -n +2 >/opt/shibboleth-idp/credentials/idp-signing-es.jwk | root@idp:~# /opt/shibboleth-idp/bin/jwtgen.sh -t EC -c P-256 -u sig -i defaultECSign | tail -n +2 >/opt/shibboleth-idp/credentials/idp-signing-es.jwk |
root@idp:~# /opt/shibboleth-idp/bin/jwtgen.sh -t RSA -s 2048 -u enc -i defaultRSAEnc | tail -n +2 >/opt/shibboleth-idp/credentials/idp-encryption-rsa.jwk</code> | root@idp:~# /opt/shibboleth-idp/bin/jwtgen.sh -t RSA -s 3072 -u enc -i defaultRSAEnc | tail -n +2 >/opt/shibboleth-idp/credentials/idp-encryption-rsa.jwk</code> |
| |
Setzen Sie eine Issuer ID in der Datei ''/opt/shibboleth-idp/conf/oidc.properties'':<file xml /opt/shibboleth-idp/conf/oidc.properties>... | Setzen Sie eine Issuer ID in der Datei ''/opt/shibboleth-idp/conf/oidc.properties'':<file xml /opt/shibboleth-idp/conf/oidc.properties>... |
<property name="profileConfigurations"> | <property name="profileConfigurations"> |
<list> | <list> |
<bean parent="OIDC.Configuration" /> | <ref bean="OIDC.Configuration" /> |
<!-- <bean parent="SAML2.SSO" p:encryptAssertions="false" /> --> | <!-- <bean parent="SAML2.SSO" p:encryptAssertions="false" /> --> |
</list> | </list> |
<property name="profileConfigurations"> | <property name="profileConfigurations"> |
<list> | <list> |
<bean parent="OIDC.Configuration" /> | <ref bean="OIDC.Configuration" /> |
<bean parent="OIDC.Keyset" /> | <ref bean="OIDC.Keyset" /> |
<!-- <bean parent="SAML2.SSO" p:encryptAssertions="false" /> --> | <!-- <bean parent="SAML2.SSO" p:encryptAssertions="false" /> --> |
</list> | </list> |
| |
# Where to store the dynamically registered client information -> Datenbank | # Where to store the dynamically registered client information -> Datenbank |
idp.oidc.dynreg.StorageService = shibboleth.JPAStorageService | idp.oidc.dynreg.StorageService = JDBCStorageService |
</code> | </code> |
| |
p:implicitFlowEnabled="false" | p:implicitFlowEnabled="false" |
/> | /> |
<bean parent="OIDC.Configuration" /> | <ref bean="OIDC.Configuration" /> |
<bean parent="OIDC.Keyset" /> | <ref bean="OIDC.Keyset" /> |
</list> | </list> |
</property> | </property> |
| |
FIXME: Funktionierende Syntax für xml-Metadaten fehlt | FIXME: Funktionierende Syntax für xml-Metadaten fehlt |
| |
| **Achtung:** Sollten Sie später die Token-Verschlüsselung wieder aus der Konfiguration herausnehmen, achten Sie darauf, dass auf beiden Seiten auch die Informationen zu Signaturalgorithmen und Schlüsselmaterial aus den Metadaten der Gegenstelle entfernt werden müssen, sonst wird weiterhin versucht, die Tokens zu verschlüsseln. |
===== Weitere Hinweise ===== | ===== Weitere Hinweise ===== |
Das OIDC-Plugin unterstützt bislang noch kein Logout, und die OIDC-RPs werden auch nicht auf der Logout-Seite angezeigt: | <del>Das OIDC-Plugin unterstützt bislang noch kein Logout, und die OIDC-RPs werden auch nicht auf der Logout-Seite angezeigt: |
https://issues.shibboleth.net/jira/browse/JOIDC-13 | https://issues.shibboleth.net/jira/browse/JOIDC-13 |
| </del> |
| |
| Ab der Version 4.1 wird jetzt auch OPLogout unterstützt. Näheres dazu findet sich unter https://shibboleth.atlassian.net/wiki/spaces/IDPPLUGINS/pages/3466559581/OPLogout |
| |
| |
Die OIDC-Attribute werden im Attribute Release bislang nur mit englischen Beschreibungstexten angezeigt. Zur Korrektur müssen die entsprechenden deutschen Beschreibungstexte unter ''/opt/shibboleth-idp/conf/attributes/oidc-claim-rules.xml'' ergänzt werden. | Die OIDC-Attribute werden im Attribute Release bislang nur mit englischen Beschreibungstexten angezeigt. Zur Korrektur müssen die entsprechenden deutschen Beschreibungstexte unter ''/opt/shibboleth-idp/conf/attributes/oidc-claim-rules.xml'' ergänzt werden. |
* ''conf/services.xml'' -> Wird die [[de:shibidp:upgrade#umstellung_auf_die_nutzung_der_attribute_registry_optional|Attribute Registry]] benutzt oder nicht? Sind die Sub Claims dann in die Registry importiert? | * ''conf/services.xml'' -> Wird die [[de:shibidp:upgrade#umstellung_auf_die_nutzung_der_attribute_registry_optional|Attribute Registry]] benutzt oder nicht? Sind die Sub Claims dann in die Registry importiert? |
* Sind sie in ''conf/attribute-resolver.xml'' definiert? | * Sind sie in ''conf/attribute-resolver.xml'' definiert? |
* Ist in ''conf/attribute-resolver.xml'' oben im einleitenden xml-Tag ''<Attributeresolver ...>'' oidc mit drin? | * Ist in ''conf/attribute-resolver.xml'' oben im einleitenden xml-Tag ''<AttributeResolver ...>'' oidc mit drin? |
* Freigaberegeln in ''conf/attribute-filter.xml'' prüfen | * Freigaberegeln in ''conf/attribute-filter.xml'' prüfen |
* Log checken: Welcher Sub Claim wird von der RP angefordert? Haben Sie vielleicht nur den anderen Sub Claim erlaubt? | * Log checken: Welcher Sub Claim wird von der RP angefordert? Haben Sie vielleicht nur den anderen Sub Claim erlaubt? |
{{tag>idp4 openidc oidc extension}} | {{tag>idp4 openidc oidc extension}} |