Deutschlandticket: Berechtigungsprüfung für Studierendenermäßigung
Damit Studierende über ein AAI-Login gegenüber Verkehrsbetrieben nachweisen können, dass sie zum Erwerb eines vergünstigten Deutschlandtickets berechtigt sind, gehen Sie als IdP-Betreibende wie folgt vor.
URN registrieren
Für die zu übertragenden Entitlements empfehlen wir, dass Sie für Ihre Einrichtung einen eindeutigen, dauerhaften und global gültigen URN beim DFN-Verein registrieren. Hier finden Sie Informationen zu unserer URN-Registry. In den untenstehenden Beispielen verwenden wir den Beispiel-PREFIX urn:geant:dfn.de:beispiel-hochschule.de
. Mit Ihrem Namensraum können Sie dann die gewünschten Werte von eduPersonEntitlement
abbilden.
Abstimmung über erwartete Attributwerte
Die Liste der Attribute und die genauen zu übermittelnden Werte von eduPersonEntitlement
sind mit den jeweils zuständigen Verkehrsbetrieben abzustimmen. Unsere Empfehlungen lehnen sich an die diesbezügliche Praxis in einem Bundesland an.
Demnach wird die pseudonyme und SP-spezifische samlPairwiseID
(Doku) als Identifier verwendet. Sie enthält immer auch den Scope, also die Domain der Hochschule. Darüber hinaus werden Vor- und Nachname (givenName
und sn
(Doku) übertragen. Wenn es nötig ist, zur Feststellung der Identität das Geburtsdatum (schacDateOfBirth
) hinzuzuziehen, kann es zusätzlich übertragen werden. Optional wäre auch die Übertragung von schacHomeOrganization
.
Die Kerninformationen über die eigentliche Berechtigung werden in das Attribut eduPersonEntitlement
gesteckt: Die Details klären Sie bitte mit den Verkehrsbetrieben. Hier ein paar Empfehlungen:
Übermittlung des relevanten Immatrikulationszeitraums
[PREFIX]:entitlement:dticket:timeframe:[VON_DATUM als YYYYMMDD]-[BIS_DATUM als YYYYMMDD]
Hier können in Absprache mit den Verkehrsbetrieben ein oder mehrere Werte übermittelt werden. So könnte es mit zwei Werten für das laufende und das kommende Semester aussehen:
urn:geant:dfn.de:beispiel-hochschule.de:entitlement:dticket:timeframe:20230401-20230930 urn:geant:dfn.de:beispiel-hochschule.de:entitlement:dticket:timeframe:20231001-20240331
So könnte es mit nur einem Wert aussehen:
urn:geant:dfn.de:beispiel-hochschule.de:entitlement:dticket:timeframe:20230401-20240331
Ggf. Übermittlung des Standortes
Wenn der Studienort bzw. der Standort der Einrichtung relevant ist, sollte die amtliche Statistiknummer des Standortes übertragen werden (ggf. bei Ihrer Hochschulverwaltung erfragen):
urn:geant:dfn.de:beispiel-hochschule.de:entitlement:dticket:site:1234
So könnten nach Absprache zwischen einer Hochschule und einem Verkehrsbetrieb beispielsweise folgende zwei Werte für eduPersonEntitlement übermittelt werden:
urn:geant:dfn.de:beispiel-hochschule.de:entitlement:dticket:timeframe:20230401-20240331 urn:geant:dfn.de:beispiel-hochschule.de:entitlement:dticket:site:1234
Filterregel für Identity Provider
- /opt/shibboleth-idp/conf/attribute-filter.xml
<AttributeFilterPolicy id="dticket"> <PolicyRequirementRule xsi:type="Requester" value="<hier-sp-entity-id-ihres-verkehrsbetriebes>" /> <AttributeRule attributeID="samlPairwiseID" permitAny="true"/> <AttributeRule attributeID="givenName" permitAny="true"/> <AttributeRule attributeID="sn" permitAny="true"/> <AttributeRule attributeID="eduPersonEntitlement"> <PermitValueRule xsi:type="ValueRegex" regex="^urn:geant:dfn\.de:beispiel-hochschule\.de:entitlement:dticket.*$" /> </AttributeRule> <!-- nur, wenn das Geburtsdatum zum Abgleich bei der Identitätsfeststellung benötigt wird --> <AttributeRule attributeID="schacDateOfBirth" permitAny="true"/> <!-- der Scope kann aus der samlPairwiseID geholt werden, daher im Prinzip nicht nötig, aber möglich --> <AttributeRule attributeID="schacHomeOrganization" permitAny="true"/> </AttributeFilterPolicy>