Inhaltsverzeichnis dieser Seite

Einführung

Die Domainrobot-API bietet verschiedene Möglichkeiten der Authentifizierung. Abhängig von der gewählten API stehen dir folgende Authentifizierung-Möglichkeiten zur Verfügung:

JSON und XML:

  • Credentials (Benutzer/Kontext/Passwort)
  • SessionID
  • TrustedApp

Nur XML:

  • Zwei-Faktor-Authentifizierung
  • SingleSignOn-Authentifizierung

JSON-API

Authentifizierung über Credentials (Benutzername/Context/Passwort)

Authentifizierung mit dem AutoDNS Benutzernamen und deinem AutoDNS Kontext. Das Passwort musst du selber festlegen.

Benutzer ($user) und Passwort ($password) werden als Basic Auth angegeben. Der Kontext wird hier über den Header X-Domainrobot-Context angegeben.

Beachte die Kontextnummern. Kontext "1" bezeichnet das Demo-System, Kontext "4" bzw. die PersonalAutoDNS Kontextnummer, das Live-System.

Beispiel Http-Header :

Für den Benutzernamen "user", dem Passwort "password" und dem Context "4" müssen folgende Http-Header angegeben werden :

  • Authorization: Basic dXNlcjpwYXNzd29yZA==
  • X-Domainrobot-Context: 4


Weiterführende Hinweise zu Basic Auth sind unter folgenden Link zu finden : https://de.wikipedia.org/wiki/HTTP-Authentifizierung

Authentifizierung über Trusted Application

Für diese Art der Authentifizierung müssen die Daten der Trusted App ($uuid:$password) als Basic Auth angegeben werden.

Authentifizierung über die SessionID

Die Authentifizierung über eine Session wird nur empfohlen sofern für die Anbindung der API ein "Automatisches Timeout" der Session notwendig ist. Wir empfehlen immer Authentifizierung über Credentials (Benutzername/Context/Passwort) zu verwenden.

Login

Die Session, die für die Authentifizierung genutzt werden soll, muss mit einem AuthSessionCreate Auftrag angelegt werden.

Bei erfolgreichen Login gibt das System in der Antwort die Benutzerdaten zurück. Abhängig von den gewählten Abfrageparametern, werden zusätzliche Daten des Benutzers ausgegeben. Die SessionID wird bei JSON im Header zurückgeliefert.

Set-Cookie: domainrobot_session=$sessionID; Path=/;Max-Age=599;secure;httponly

SessionID als Cookie/Header

Die beim Login zurückgelieferte SessionID steht nun für weitere Aufträge zur Verfügung. Sie kann in den Aufträgen im Header (X-Domainrobot-SessionId) oder als Cookie verwendet werden.


X-Domainrobot-SessionId: $sessionID

Logout

Über die Route GET /logout kann die aktuelle Arbeitssitzung beendet werden.

XML-API

Authentifizierung über Credentials (Benutzername/Context/Passwort)

Beachte die Kontextnummern. Kontext "1" bezeichnet das Demo-System, Kontext "4" bzw. die PersonalAutoDNS Kontextnummer, das Live-System.

Bei der Authentifizierung mit dem AutoDNS Benutzernamen und deinem AutoDNS Kontext musst du das Passwort selber festlegen. Es wird im auth-Block im Tag <password> eingegeben.

XML
<auth>
	<user>USER</user>
	<context>CONTEXT</context>
	<password>PASSWORD</password>
</auth>

Authentifizierung über Trusted Application

Eine "Trusted Application" ist eine Applikation, die du im AutoDNS als vertrauenswürdig angelegt hast. Der Name der App wird im Tag <name> im application-Block eingegeben.

XML
<request>
	<authentication>
		<trusted_application>
			<uuid>USER</uuid>
			<password>PASSWORD</password>
			<application>
				<name>TRUSTED_APP_NAME</name>
			</application>
		</trusted_application>
	</authentication>
	<task>
	</task>
</request>

Authentifizierung über die SessionID

Die Authentifizierung über eine Session wird nur empfohlen sofern für die Anbindung der API ein "Automatisches Timeout" der Session notwendig ist. Wir empfehlen immer Authentifizierung über Credentials (Benutzername/Context/Passwort) zu verwenden.

Starten der Arbeitssitzung - Login

Du erzeugst die AutoDNS SessionID mit dem XML-Auftragstyp AuthSession Create. Sie wird im Tag <hash> zurückgegeben.

Die AutoDNS SessionID ist eine UUID (Universally Unique Identifier), mit der du dich für die Dauer einer Arbeitssitzung authentifizierst. Sie  wird im auth_session-Block im Tag <hash> eingegeben.

XML
<request>
	<auth_session>
		<hash>9b4b36ff-2bed-41c8-8471-6ede5d2873dd</hash>
	</auth_session>
	<task>
		<!-- .... -->
	</task>
</request>

Beenden der Arbeitssitzung - Logout

Die Arbeitssitzung beendest du mit dem XML-Auftragstyp AuthSessionDelete.

Authentifizierung über Zwei-Faktor-Authentifizierung (2FA)

Bei der Zwei-Faktor-Authentifizierung muß zusätzlich zu Benutzernamen und Passwort ein sechsstelliger Zahlencode, der sogenannte Token, eingegeben werden.

Token erzeugen

Der Token wird mit dem Time-based One-time Password Algorithmus (RFC 6238) erzeugt.

Token verwenden

Der Token wird im auth-Block im Tag <token> eingegeben.

XML
<auth>
	<user>USER</user>
	<context>CONTEXT</context>
	<password>PASSWORD</password>
	<token>TOKEN</token>
</auth>