Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

PhoenixII (PII) verwendet OAuth 2.0, um Webanwendungen und Web-APIs den Zugriff auf Daten in Ihrem PII-Mandanten zu erhalten. Der OAuth 2.0-Autorisierungscodefluss wird in Abschnitt 4.1 der OAuth 2.0-Spezifikationbeschrieben. Er wird zur Authentifizierung und Autorisierung verwendet.

...

Wenn Sie einen Autorisierungscode erworben und die Berechtigung vom Benutzer erhalten haben, können Sie den Code für ein Zugriffstoken auf PhoenixII einlösen, indem Sie eine POST-Anforderung an den oauth2/access_token -Endpunkt senden:


Code Block
languagebash
POST https://{mandant}.it4sport.de/oauth2/access_token?
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIU...
Content-Type: application/json

grant_type=authorization_code
&client_id=cc69ef07-6b5b-43c6-bf5d-35a290d198e4
&code=OTg2OTQxODRhOTEzNTQ2ZDRmMTMyODc4MzhhNjMxNzI0NjMxNTk0OGZlMDIyZTVkYjAwZmIwZTAxZDM3ZWJlMw
&redirect_uri=https://myapp.de/login
&client_secret=zR6cebHdJFTZ6yI+jsAErcNxIOvMUpgLrTZc4AYL9UQ=

...

ParameterBeschreibung
token_typeGibt den Wert des Tokentyps an. Bearertoken ist der einzige Typ, den PhoenixII unterstützt. Weitere Informationen zu Bearertoken finden Sie unter OAuth 2.0-Autorisierungsframework: Verwendung von Bearertoken (RFC 6750).
expires_inGibt den Zeitstempel an, wie lange das Zugriffstoken gültig ist.
access_token

Das angeforderte Zugriffstoken als signiertes JSON-Webtoken (JWT). Die App kann dieses Token zur Authentifizierung auf geschützten Anforderungen verwenden.

refresh_tokenEin Aktualisierungstoken von OAuth2. Die App kann dieses Token verwenden, um nach Ablauf der aktuellen Zugriffstoken zusätzliche Zugriffstoken zu erhalten. Aktualisierungstoken sind langlebig und können verwendet werden, um den Zugriff auf Anfragen für längere Zeit beizubehalten.
dataUnter Data werden alle nötigen Daten, die in Ihrer Anwendung definiert wurden zurückgeliefert.
data.idDas ist die eindeutige ID des Benutzers in PhoenixII.
data.userEnthält weitere Daten zu dem angefragten Benutzer.
data.organisationEnthält Daten zu Ihrem Verband.
data.licensesEnthält eine Liste von allen Lizenzen die Sie abfragen wollen.
data.functionsEnthält eine Liste von allen Funktionen die Sie abfragen wollen.

Benutzer-Daten abrufen

Mit dem erhaltenen access_token können im Anschluss auch weitere bzw. aktualisierte Personen-Daten nachgeladen werden.

Der Aufruf hier als Beispiel:

Code Block
languagejs
themeConfluence
titleResponse-JSON
collapsetrue
GET https://{mandant}.it4sport.de/oauth2/access_token?
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIU...
Content-Type: application/json

Response:
{
  "id": "8366eb42-ddac-49f9-b0e4-e25164d782d3",
  "user": {
    "id": "8366eb42-ddac-49f9-b0e4-e25164d782d3",
    "firstname": "Max",
    "lastname": "Mustermann",
    "birthday": "1987-01-01 00:00:00.000",
    "email": "max@mustermann.de"
  },
  "organisation": {
    "id": "1",
    "full_name": "Tricept Verband Württemberg",
    "short_name": "Tricept AG",
    "internal_name": "bowb"
  },
  "licenses": [
    {
      "license_number_dosb": "",
      "license_number_organisation": "1231 Lizenz Nr.",
      "license_number_organisation_sf": "567567 WLSB",
      "first_issue_date": "2019-06-03 00:00:00.000",
      "issue_date": "2019-06-19 00:00:00.000",
      "valid_until": "2020-06-30 00:00:00.000",
      "training_course": "SR-Lizenz",
      "training_course_short": "SRL"
    }
  ],
  "functions": [
    {
      "id": "96fc343d-01ea-41a9-aca0-9f87f7c9d29f",
      "function_since": "2019-06-27 00:00:00.000",
      "function_id": "a1f60eb6-3c11-4a22-84b7-8fe47633194c",
      "function_name_male": "Lizenzinhaber",
      "function_name_female": "Lizenzinhaberin"
    }
  ]
}

OAuth2 Zugriff zulassen

Der Endbenutzer erhält folgende Ansicht, wenn der Zugriff auf die Daten von PhoenixII angefragt werden.

...