-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OIDC: Custom SAC Claims #428
Labels
Comments
14 tasks
carlobeltrame
added
the
blocked
Waiting for another issue to be finished before this can be continued
label
May 16, 2024
amaierhofer
added a commit
to hitobito/hitobito
that referenced
this issue
May 24, 2024
amaierhofer
added a commit
to hitobito/hitobito
that referenced
this issue
May 24, 2024
amaierhofer
added a commit
that referenced
this issue
May 24, 2024
amaierhofer
added a commit
that referenced
this issue
May 24, 2024
amaierhofer
added a commit
to hitobito/hitobito
that referenced
this issue
May 24, 2024
amaierhofer
added a commit
to hitobito/hitobito
that referenced
this issue
May 24, 2024
amaierhofer
added a commit
that referenced
this issue
May 24, 2024
ThomasEllenberger
removed
the
blocked
Waiting for another issue to be finished before this can be continued
label
May 29, 2024
TheWalkingLeek
assigned TheWalkingLeek and carlobeltrame and unassigned TheWalkingLeek and carlobeltrame
May 30, 2024
TheWalkingLeek
pushed a commit
that referenced
this issue
May 30, 2024
carlobeltrame
pushed a commit
that referenced
this issue
May 30, 2024
amaierhofer
added a commit
that referenced
this issue
May 31, 2024
amaierhofer
added a commit
to hitobito/hitobito
that referenced
this issue
May 31, 2024
amaierhofer
added a commit
to hitobito/hitobito
that referenced
this issue
May 31, 2024
amaierhofer
added a commit
that referenced
this issue
May 31, 2024
Bis auf AdressenFelder umgesetzt und gemerged |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Blocked by #551
Als Entwicklerin einer SAC-Drittapplikation welche via OIDC an hitobito angebunden wird
möchte ich gewisse oft verwendete und Drittapplikations-übergreifende Informationen in den OIDC Claims oder JWT Token verfügbar haben,
um nicht gleich den OIDC
api
Scope zu brauchen.Neu sollen diverse Felder im Userinfo Endpoint bzw. direkt im JWT Token enthalten sein, wenn die passenden Scopes verwendet werden.
Mockup / Beispiel Payload Output
Tech-Spec
Für gewisse Informationen die von mehreren Drittapplikationen verwendet werden, kann es sein dass wir in hitobito einen Wert berechnen und in OIDC ausgeben (hinter angemessenen Scopes natürlich). Für triviale Eigenschaften, welche mithilfe der Rollen imwith_roles
Scope berechnet werden können, sind hingegen die Drittapplikationen verantwortlich. Letztlich müssen wir von Fall zu Fall entscheiden, welche Applikation die Hoheit (und damit auch die Maintenance-Bürde) für die jeweiligen Daten und Berechnungslogik hat.Felder die wir in hitobito ergänzen müssen
Inhalt: Erste phone_number mit dem Label "Haupt-Telefonnummer"
Enthalten in den Scopes: name, with_roles
Wo ausgeben: Userinfo Endpoint
Wird erst später in oder nach INVOICE: Strukturierte Adressen bei Rechnungen / ISO20022 hitobito#2226 ergänzt
Wird erst später in oder nach INVOICE: Strukturierte Adressen bei Rechnungen / ISO20022 hitobito#2226 ergänzt
Inhalt:
Person#membership_years
Enthalten in den Scopes: with_roles
Wo ausgeben: Userinfo Endpoint
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ Sektionsfunktionäre hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine aktive Präsidium-Rolle in einer Gruppe vom Typ Sektionsfunktionäre hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ Geschaeftsstelle hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ Geschaeftsleitung hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ Zentralvorstand hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ Kommission (nicht SektionsKommission) hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ SektionsKommission (nicht Kommission) hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ MitgliedStammsektion hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ MitgliedZusatzsektion hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ Huetten (nicht Huette) hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ Touren und Kurse hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ TourenPortal hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine aktive Autor*in-Rolle in einer Gruppe vom Typ TourenPortal hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine aktive Community-Rolle in einer Gruppe vom Typ TourenPortal hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine aktive Administration-Rolle in einer Gruppe vom Typ TourenPortal hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Ausgeben, wenn die eingeloggte Person eine beliebige aktive Rolle in einer Gruppe vom Typ AboMagazin hat.
Enthalten in den Scopes:
user_groups
(muss neu angelegt werden)Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Inhalt / Berechnungslogik: Pro aktive Rolle ein String im Format
"#{role.type}\##{role.group_id}"
Enthalten in den Scopes:
user_groups
Wo ausgeben: Userinfo Endpoint, in Liste von Strings namens
user_groups
Abgrenzung / Felder die von der Drittapplikation berechnet oder ersetzt werden müssen
sub
wird nicht wie in Navision eine UUID ausgegeben, sondern eine numerische Personen-ID ( = Mitgliedernummer)with_roles
Scope herausgfiltert werdenwith_roles
Scope herausgfiltert werdenwith_roles
Scope herausgelesen werdenwith_roles
Scope herausgfiltert werdenToDo
The text was updated successfully, but these errors were encountered: