OIDC Scopes Documentation

OIDC Scopes Documentation

This document outlines the various OIDC scopes and their corresponding properties in the ID token.


Default OIDC Fields


These fields are commonly included in ID tokens provided by any OIDC (OpenID

Connect) compliant identity provider, and they contain fundamental

information about the authenticated user.


  1. aud: Audience(s) that this ID token is intended for.
  2. auth_time: Time when the authentication occurred.
  3. exp: Expiration time of the token.
  4. iat: Time when the token was issued.
  5. iss: Issuer of the token (usually the URL of the identity provider).
  6. jti: Unique identifier for the token.
  7. rat: Time the user was last authenticated (re-auth time).
  8. sub: Subject identifier, a unique ID for the user.

Scopes


`profile`

Provides basic profile information about the user.


  1. name: The full name of the user.
  2. family_name: The family name (surname) of the user.
  3. given_name: The given name (first name) of the user.
  4. role: The role of the user (e.g., 'L' for Teacher/Lehrer).


`email`

Provides the email address of the user.


 email: The user's email address.


`antares.context`

Provides context-related information.

  1. **context**: The context in the format `land/standort/customer`.
  2. **standort**: The location of the user.
  3. **land**: The country code.
  4. **sitename**: The name of the site for example "Medienzentrum Gotha".
  5. **schoolid**: The ID of the school.
  6. **role**: The role of the user (e.g., 'L' for Teacher).
  7. **central_school_number**: The central school number.

`antares.schoolname`

Provides the name of the school.

  1. schoolname: The name of the school.

`antares.classes`

Provides a list of classes the user is associated with.

  1. classes: An array of classes. Each class includes:
  2.  class: The class level (6, 7, 8 ...) or S for other (Sonstige)
  3.  end: The end date. After this date the students of this class can no longer log in to edupool.
  4.  enddeu: The end date (localized).
  5.  identifier: The unique (only per 'land') identifier for the class.
  6.  info: Additional info.
  7.  start: The start date. Student login is not allowed before this date.
  8.  titel: The title of the class.


`antares.students`

Provides a list of students with their hashed education keys.

  1. students: A dictionary where each key is a class identifier:
  2.  edukey: The hashed edu key (SHA256). Note: if a student logs in via SSO, they have this value as "sub" and can therefore be identified.
  3.  name: The student's name.


`antares.teachers`

Provides a list of teachers with their details.

  1. teachers: A dictionary where each key is a teacher's email address:
  2. classes: An array of class identifiers associated with the teacher.
  3. name: The family name (surname) of the teacher.
  4. given_name: The given name (first name) of the teacher.


Example ID Token


Here is an example of an ID token with multiple scopes:


```json

{

  "aud": [

    ""

  ],

  "auth_time": 1719907242,

  "central_school_number": null,

  "classes": [

    {

      "identifier": "1",

      "titel": "Astronauten AG",

      "class": "11",

      "start": "2023-09-26",

      "end": "2024-09-07",

      "info": "Neu eingestellte Astronauten absolvieren zunächst eine eineinhalbjährige Grundausbildung, wo sie sich mit Raumfahrt- und Elektrotechnik sowie verschiedenen anderen wissenschaftlichen Disziplinen vertraut machen, die für die bemannte Raumfahrt von Bedeutung sind. In einem weiteren Unterrichtsmodul lernen sie die Systeme der Internationalen Raumstation kennen.",

      "enddeu": "07.09.2024"

    },

    {

      "identifier": "12",

      "titel": "Test 123",

      "class": "S",

      "start": "2024-04-05",

      "end": "2025-04-05",

      "info": " Hinweis: Alle Teilnehmer werden gebeten, Schutzkleidung zu tragen und die

   Sicherheitsvorschriften strikt einzuhalten.",

      "enddeu": "05.04.2025"

    }

  ],

  "context": "ANT/MP/23109940-AA0C-4116-9577-B6602B4BADA3",

  "exp": 1719910843,

  "family_name": "Michaelis",

  "given_name": "Rene",

  "iat": 1719907243,

  "iss": "https://oidc.edupool.cloud/",

  "jti": "14142e87-35ed-4706-9bf0-0251d238504e",

  "land": "ANT",

  "name": "Rene Michaelis",

  "rat": 1719907242,

  "role": "L",

  "schoolid": "23109940-AA0C-4116-9577-B6602B4BADA3",

  "schoolname": "Testschule 12",

  "sid": "282cd8bc-3e71-4b50-b64e-1d9b5de3b1ee",

  "sitename": "Edupool Marketplace",

  "standort": "MP",

  "students": {

    "1": [

      {

        "edukey": "229f2b9d607e4b6e19f36c922821c8284693e0d31b8a7a68b0c03fbd88a62c5d",

        "name": "Anna"

      },

      {

        "edukey": "334331335e8f949d2458187a4afe330634f5114f98ba0046732176c516596767",

        "name": "Miko"

      },

      {

        "edukey": "06f475ce5b214f0aea39a2fc90178ae783bd788e0c21b1dde07360ba7780ff8d",

        "name": "Maria"

      },

      {

        "edukey": "54773812381bdd045f1b87b03b37bc3b5646c3a9af2e30ac71506593c65b1196",

        "name": "Jussi"

      },

      {

        "edukey": "d8c34d3e43d85a0709627d9c830a8e726dfa4acf8d33432742c92a5c578da1d3",

        "name": "Laura"

      },

      {

        "edukey": "8f5e472f38329e9f6da546b7c1413af22ee00da15b4938734ea488b33416bca8",

        "name": "Antti"

      },

      {

        "edukey": "93094655f21e79b7bf42c033512df092795948df34332da0da0be2910240de0a",

        "name": "Sofia"

      },

      {

        "edukey": "7426bea36ffd254328c305c3f3d85072ad12fe027b54f59f81e8144f4545ba7c",

        "name": "Ville"

      },

      {

        "edukey": "c63eb152c58fbaa4beae57e899a747f214e39ad929eef20140537f01ce410607",

        "name": "Emma"

      }

    ],

    "12": [

      {

        "edukey": "971dd2240bc4e2372a75f91a97f68d6fe5c740320c9dbcd2eed47b331836eb20",

        "name": "Biff"

      },

      {

        "edukey": "445e9f0f556db4c8e739859c080ef34f1d1abad258faf8897125e2bc8f1277d4",

        "name": "Clint"

      },

      {

        "edukey": "4e8eb4b7a37e0b0cf17ce43d7575a7655f94490f9888feac7ef2c4eeccca9ac5",

        "name": "James"

      }

    ]

  },

  "sub": "242c8f66859afea2dcf47c748f09b431feb09ec28751af46afcb8a0497c28101",

  "teachers": {

    "rene.michaelis@antares.net": {

      "classes": [

        "1",

        "12"

      ],

      "name": "Michaelis" , 

      "given_name": "Rene"

    }

  }

}

```