| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
| de:shibidp:config-extensions-oidc [2025/08/22 16:12] – [Installation der Plugins] Doreen Liebenau | de:shibidp:config-extensions-oidc [2025/09/08 10:35] (aktuell) – [Attribute / Claims] IdPv3-Syntax entfernt Doreen Liebenau |
|---|
| ===== Installation der Plugins ===== | ===== Installation der Plugins ===== |
| |
| * vgl. https://wiki.shibboleth.net/confluence/display/IDPPLUGINS/OIDC+OP | Folgende Plugins werden benötigt: |
| * vgl. https://shibboleth.atlassian.net/wiki/spaces/IDPPLUGINS/pages/1376878882/PluginInstallation | | **Plugin** | **Plugin ID** | |
| | |[[https://shibboleth.atlassian.net/wiki/x/BIERUg|OIDC Common components]]| net.shibboleth.oidc.common| |
| | |[[https://shibboleth.atlassian.net/wiki/x/DQDHv|IdP OIDC/OAuth Shared Configuration]]| net.shibboleth.idp.plugin.oidc.config| |
| | |[[https://shibboleth.atlassian.net/wiki/x/gIERUg|OIDC OP Extension]] | net.shibboleth.idp.plugin.oidc.op| |
| | |
| | Eine ausführliche Anleitung zur Plugin-Installation finden Sie im [[https://shibboleth.atlassian.net/wiki/x/kIG0vg|Shibboleth-Wiki]]. |
| |
| Denken Sie daran eine Wartung des IdP anzukündigen, da durch die Installation der IdP kurzzeitig nicht funktionsfähig ist! | Denken Sie daran eine Wartung des IdP anzukündigen, da durch die Installation der IdP kurzzeitig nicht funktionsfähig ist! |
| </file> | </file> |
| |
| === 2. Syntax IdP 3.x === | |
| |
| Wenn Sie einen IdP betreiben, der seit Shibboleth 3.x nie neu installiert, sondern immer aktualisiert wurde, dann haben Sie die Attribute Registry möglicherweise noch nicht in Betrieb genommen. Die Transcoding-Regeln für die Attribute werden dann nicht aus der Registry geholt, sondern sie müssen direkt in der Attribut-Definition genannt werden. Eine Attributdefinition kann dann so aussehen, hier basierend auf den Attributen uid und persistentId: | |
| |
| In der Datei ''/opt/shibboleth-idp/conf/attribute-resolver.xml'' Attribute analog zu ''/opt/shibboleth-idp/conf/examples/oidc-attribute-resolver.xml'' ergänzen, inkl. der Namespace-Deklaration im allerersten Absatz:<file xml /opt/shibboleth-idp/conf/attribute-resolver.xml><?xml version="1.0" encoding="UTF-8"?> | |
| <AttributeResolver | |
| xmlns="urn:mace:shibboleth:2.0:resolver" | |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
| xmlns:oidc="urn:mace:shibboleth:2.0:resolver:oidc" | |
| xsi:schemaLocation="urn:mace:shibboleth:2.0:resolver http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd | |
| urn:mace:shibboleth:2.0:resolver:oidc http://shibboleth.net/schema/oidc/shibboleth-attribute-encoder-oidc.xsd"> | |
| ... | |
| <!-- OIDC subjects --> | |
| <AttributeDefinition id="subject-public" xsi:type="Simple" | |
| activationConditionRef="shibboleth.oidc.Conditions.PublicRequired"> | |
| <InputDataConnector ref="myLDAP" attributeNames="uid" /> | |
| <AttributeEncoder xsi:type="oidc:OIDCString" name="sub" /> | |
| </AttributeDefinition> | |
| |
| <AttributeDefinition id="subject-pairwise" xsi:type="Simple" | |
| activationConditionRef="shibboleth.oidc.Conditions.PairwiseRequired"> | |
| <InputDataConnector ref="myStoredId" attributeNames="persistentId"/> | |
| <AttributeEncoder xsi:type="oidc:OIDCString" name="sub" /> | |
| </AttributeDefinition> | |
| ... | |
| </file> | |
| |
| In Datei ''/opt/shibboleth-idp/conf/attribute-filter.xml'' weitere Attribute analog zu ''/opt/shibboleth-idp/conf/examples/oidc-attribute-filter.xml'' ergänzen:<file xml /opt/shibboleth-idp/conf/attribute-filter.xml>... | |
| <!-- OIDC scopes --> | |
| <AttributeFilterPolicy id="OPENID_SCOPE"> | |
| <PolicyRequirementRule xsi:type="oidc:OIDCScope" value="openid" /> | |
| <AttributeRule attributeID="subject-public"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| <AttributeRule attributeID="subject-pairwise"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| </AttributeFilterPolicy> | |
| |
| <AttributeFilterPolicy id="OPENID_SCOPE_EMAIL"> | |
| <PolicyRequirementRule xsi:type="oidc:OIDCScope" value="email" /> | |
| <AttributeRule attributeID="mail"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| <AttributeRule attributeID="email_verified"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| </AttributeFilterPolicy> | |
| |
| <AttributeFilterPolicy id="OPENID_SCOPE_PROFILE"> | |
| <PolicyRequirementRule xsi:type="oidc:OIDCScope" value="profile" /> | |
| <AttributeRule attributeID="displayName"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| <AttributeRule attributeID="sn"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| <AttributeRule attributeID="givenName"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| <AttributeRule attributeID="uid"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| <AttributeRule attributeID="gender"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| <AttributeRule attributeID="eduPersonPrincipalName"> | |
| <PermitValueRule xsi:type="ANY" /> | |
| </AttributeRule> | |
| </AttributeFilterPolicy> | |
| ...</file> | |
| |
| ==== Token-Verschlüsselung ==== | ==== Token-Verschlüsselung ==== |