Loslegen

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

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.