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 | ||
---|---|---|
| ||
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= |
...
Parameter | Beschreibung |
---|---|
token_type | Gibt 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_in | Gibt 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_token | Ein 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. |
data | Unter Data werden alle nötigen Daten, die in Ihrer Anwendung definiert wurden zurückgeliefert. |
data.id | Das ist die eindeutige ID des Benutzers in PhoenixII. |
data.user | Enthält weitere Daten zu dem angefragten Benutzer. |
data.organisation | Enthält Daten zu Ihrem Verband. |
data.licenses | Enthält eine Liste von allen Lizenzen die Sie abfragen wollen. |
data.functions | Enthä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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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.
...