Get Started

Einführung

Hier erfährst du alles über die Implementierung von Accounda in deine Webseite und Prozesse. Für genauere Informationen zu unserer API und dem Authentifizierungsprozess kannst du unsere Dokumentation lesen.

Hier kannst du ein Beispielprojekt (Flask) herunterladen .

1. Anlegen deiner App

Um Accounda als Authentifizierungsmethode einzubinden, benötigst du eine App. Erstelle hier deine App.
Sobald du eine App angelegt hast, klicke auf Authentifizierungsdaten und speichere die CLIENT_ID und den CLIENT_SECRET.

Veröffentliche niemals deinen CLIENT_SECRET
Flash Implementation
Füge eine Weiterleitungs-URL im App-Dashboard hinzu und generiere einen Authentifizierungslink. Füge auf der Anmelde- und Registrierungsseite einen Button hinzu, der die Nutzer zu diesem Link weiterleitet. Nachdem der Nutzer sich authentifiziert und deine App autorisiert hat wird dieser zur Weiterleitungs-URL mit einer AUTH_ID (?auth_id) und einem AUTH_TOKEN (?token) weitergeleitet.

Installiere die neueste Version unseres Python-Pakets mit pip.

pip
pip install accounda
Überprüfe die Nutzerauthentifizierung anhand der bereitgestellten Authentifizierungsparameter und rufe zusätzliche Benutzerinformationen ab:
  • Die AUTH_ID (?auth_id) und der AUTH_TOKEN (?token) werden nach der Authentifizierung als GET-Parameter übergeben.
  • Verwende diese Parameter, um die Identität des Nutzers zu überprüfen.
  • Um zusätzliche Nutzerdaten abzurufen (z. B. von google, microsoft, github oder discord), füge den entsprechenden Dienst in extra_params hinzu.
python
from accounda import AccoundaClient
client = AccoundaClient(client_id="PASTE CLIENT_ID HERE", client_secret="PASTE CLIENT_SECRET HERE") valid, data = client.validate_user('PASTE AUTH_ID HERE', 'PASTE AUTH_TOKEN HERE', extra_params={"google": "1"})

Wenn du nur Nutzerinformationen abrufen möchtest, ohne die Authentifizierung einer Person zu validieren, kannst du die folgende Methode verwenden. Für zusätzliche Daten füge den entsprechenden Dienst (google, microsoft, github, discord) zu extra_params hinzu.

python
data = client.get_user_information('PASTE AUTH_ID HERE', extra_params={"google": "1"})

Dieses Python-Paket verwaltet automatisch Access- und Refresh-Tokens und wird die Tokens erneuern, sobald sie abgelaufen sind.

2. Implementierung in deine Applikation

Lege nun eine Weiterleitungs-URL im App Dashboard an. Sobald der Nutzer deine App auf Accounda autorisiert hat, wird dieser an diese URL weitergeleitet. Kopiere anschließend den Link. (Du kannst Zugriffsrechte auf Google, Microsoft, und Co. anfordern, indem du das jeweilige Symbol zuerst anklickst und anschließend den Link kopierst.)

Erstelle anschließend einen Button in deiner App, welcher den Nutzer auf diesen Link weiterleitet:

Anmelden mit
html
<a class="accounda-oauth-btn" href="PASTE LINK HERE">
    Anmelden mit
    <img src="https://accounda.blob.core.windows.net/static/full-logo-darkmode.svg" 
        width="90px">
</a>
css
.accounda-oauth-btn {
    display: block;
    font-family: "Verdana", "Arial", "Tahoma", sans-serif;
    max-width: 370px;
    width: calc(100% - 8px);
    font-size: 16px;
    color: #fff;
    text-align: center;
    background-color: rgba(27, 28, 34, 0.9);
    border: 1px solid rgba(88, 243, 151, 0.7);
    padding: 12px 0;
    border-radius: 8px;
    font-weight: 570;
    cursor: pointer;
    text-decoration: none;

    span {
        margin-left: 2px;
    }
}

Sobald der Nutzer deine App autorisiert hat, wird dieser an deine zuvor definierte URL weitergeleitet. Zusätzlich wird eine AUTH_ID [ ?auth_id ] und ein AUTH_TOKEN [ ?token ] als GET Parameter übergeben. Du kannst nun mit Hilfe der AUTH_ID auf autorisierte Daten zugreifen. Um einen Nutzer eindeutig authentifizieren zu können, benötigst du die AUTH_ID in Kombination mit dem AUTH_TOKEN.

Um mit der API interagieren zu können, benötigst du zuerst einen ACCESS_TOKEN. Um einen ACCESS_TOKEN zu erhalten, musst du dich bei der API mittels CLIENT_ID und CLIENT_SECRETauthentifizieren.

python
import requests
url = 'https://api.accounda.com/v1/token/' data = { 'client_id': 'PASTE CLIENT_ID HERE', 'client_secret': 'PASTE CLIENT_SECRET HERE' } response = requests.post(url, data=data) access_token = response.json()['access_token']
3. Nutzer authentifizieren

Im dritten Schritt stellst du sicher, dass der Nutzer korrekt erkannt wird. Dazu verwendest du die AUTH_ID und das AUTH_TOKEN, die nach der Autorisierung übermittelt wurden. Mit diesen Daten kannst du den Nutzer sicher identifizieren und überprüfen, dass er berechtigt ist, die Anwendung zu nutzen.

python
url = 'https://api.accounda.com/v1/user/validate/?auth_id=PASTE AUTH_ID HERE'

headers = { 'Authorization': f'Bearer {access_token}', 'Content-Type': 'application/json', 'Client-ID': 'PASTE CLIENT_ID HERE', 'Auth-Token': 'PASTE AUTH_TOKEN HERE' } response = requests.get(url, headers=headers) data = response.json() if data.get('error'): raise Exception(data['error'])

Der oben stehende Code-Snippet zeigt die einfachste Form der Authentifizierung. Um in derselben Anfrage auch autorisierte Daten zu erhalten, kannst du die entsprechenden Parameter verwenden:
1: optional, 8: required
Standard Daten: &user_data=1
*Google: &google=1
*Microsoft: &microsoft=1
*Discord: &discord=1
*GitHub: &github=1

* Nur in Kombination mit &user_data=1 als Parameter möglich.

Genauere Informationen zur Nutzerauthentifizierung findest du hier.

4. Autorisierte Daten abrufen

Solltest du nur auf autorisierte Daten zugreifen wollen, kannst du dies allein mit der AUTH_ID tun. Eine eindeutige Identifizierung oder Authentifizierung ist damit jedoch nicht gewährleistet.

python
url = 'https://api.accounda.com/v1/user/information/?auth_id=PASTE AUTH_ID HERE'

headers = { 'Authorization': f'Bearer {access_token}', 'Content-Type': 'application/json', 'Client-ID': 'PASTE CLIENT_ID HERE' } response = requests.get(url, headers=headers) data = response.json()

Um in derselben Anfrage auch autorisierte Daten von Dritten zu erhalten, kannst du die entsprechenden Parameter verwenden:
1: optional, 8: required
*Google: &google=1
*Microsoft: &microsoft=1
*Discord: &discord=1
*GitHub: &github=1

Genauere Informationen zum Abrufen von Daten findest du hier.

5. Abgelaufenen Access Token erneuern

Access Tokens sind nur für 3600 Sekunden gültig. Um einen neuen Access Token ohne erneute Authentifizierung zu erhalten, kann der zusammen mit dem Access Token bereitgestellte Refresh Token verwendet werden. Jeder Refresh Token ist nur einmal gültig und wird entweder direkt nach der Verwendung ungültig oder läuft nach 7 Tagen ab.

python
url = 'https://api.accounda.com/v1/token/refresh/'

headers = { 'Authorization': f'Bearer {refresh_token}', 'Content-Type': 'application/json', 'Client-ID': 'PASTE CLIENT_ID HERE' } response = requests.post(url, headers=headers) access_token = response.json()['access_token']
Applikation erstellen

Implementiere Accounda rasend schnell in deine Applikation und profitiere von etlichen Funktionen.

App erstellen
Dokumentation

In unserer Dokumentation kannst du einen detaillierteren Überblick über die API erhalten.

Zur Dokumentation