Get Started
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
.
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.
Installiere die neueste Version unseres Python-Pakets mit pip.
pip install accounda
- 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.
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.
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.
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:
<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>
.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.
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']
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.
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: µsoft=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.
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.
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']
Implementiere Accounda rasend schnell in deine Applikation und profitiere von etlichen Funktionen.
App erstellenIn unserer Dokumentation kannst du einen detaillierteren Überblick über die API erhalten.
Zur Dokumentation