hitobito / hitobito_sac_cas

A hitobito wagon defining the organization hierarchy and additional features for SAC/CAS
Other
3 stars 2 forks source link

OIDC: Custom SAC Claims #428

Open carlobeltrame opened 3 months ago

carlobeltrame commented 3 months ago

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

{
  "sub": "600000",
  "roles": [
    {
      "group_id": 8,
      "group_name": "1 Geschäftsstelle",
      "role": "Group::Geschaeftsstelle::Mitarbeiter",
      "role_class": "Group::Geschaeftsstelle::Mitarbeiter",
      "role_name": "Mitarbeiter*in (schreibend)",
      "permissions": [
        "layer_and_below_full"
      ],
      "layer_group_id": 1
    }
  ],
  "picture_url": "http://localhost:3000/packs/media/images/profil-d4d04543c5d265981cecf6ce059f2c5d.png",
  "first_name": "Puzzle",
  "last_name": "ITC",
  "nickname": null,
  "company_name": "Puzzle ITC",
  "company": true,
  "email": "hitobito-sac-cas@puzzle.ch",
  "address": null,
  "zip_code": "",
  "town": null,
  "country": null,
  "gender": null,
  "birthday": "1999-09-09",
  "primary_group_id": 8,
  "language": "de",

  // NEUE FELDER AB HIER:
  "phone": "+41790000000",
  "membership_years": 10,
  "user_groups": [
    "Group::Sektion::MitarbeiterGs#1",
    "SAC_employee",
    // ...
  ]
}

Tech-Spec

Felder die wir in hitobito ergänzen müssen

Abgrenzung / Felder die von der Drittapplikation berechnet oder ersetzt werden müssen

ToDo

amaierhofer commented 1 month ago

Bis auf AdressenFelder umgesetzt und gemerged