Authentifizierung

Erfahren Sie mehr über erweiterte Einrichtungen in unseren Anleitungen.

So richten Sie die OAuth 2.0-Authentifizierung ein

Anstatt langlebiger Token verwendet OAuth 2.0 kurzlebige Token mit langfristiger Autorisierung (Aktualisierungstoken). Ein Aktualisierungstoken ermöglicht es den Benutzern, über einen längeren Zeitraum in der Anwendung zu verbleiben, ohne ihren Benutzernamen und ihr Passwort erneut eingeben zu müssen. Dadurch wird das Risiko der Kompromittierung von Benutzerauthentifizierungsdaten eliminiert.

Einrichtung von OAuth 2.0 für die Autorisierung:

  • über Benutzername oder E-Mail-Adresse und Passwort
  • über soziale Netzwerke
  • über Steam

Bei aktivierter Option erfolgt die Benutzerregistrierung und -authentifizierung durch die API-Aufrufe Register new user und JWT auth by username and password. Das Login & Account System-Asset bietet für die OAuth 2.0-Autorisierung dieselben Methoden wie für die JWT-Autorisierung. Wenn die Engine zum ersten Mal ein Objekt in der Szene initialisiert, wird die Methode Awake aufgerufen. Die Methode prüft, ob der aktuelle Aktualisierungstoken abgelaufen ist.

Hinweis
Durch die Aktivierung dieser Einstellung wird der Authentifizierungsprozess in Ihrer Anwendung für den Benutzer nicht geändert.

So konfigurieren Sie die OAuth 2.0-Authentifizierung:

  1. Konfigurieren Sie die OAuth 2.0-Authentifizierung für Login-Projekte im Kundenportal.
  2. Konfigurieren Sie die Inhalte in Ihrem Unity-Projekt.

OAuth 2.0-Authentifizierung für Login-Projekte im Kundenportal einrichten

  1. Wechseln Sie ins Kundenportal.
  2. Klicken Sie im seitlichen Menü auf Login.
  3. Klicken Sie im gewünschten Login-Anzeigebereich auf Konfigurieren.
  4. Scrollen Sie zum Block Sicherheit, und klicken Sie auf OAuth 2.0.
  5. Klicken Sie auf OAuth 2.0 hinzufügen.
  6. Geben Sie die OAuth 2.0-URIs für die Weiterleitung an, und klicken Sie auf Verknüpfen.
  7. Kopieren und speichern Sie die Client-ID.

Inhalte in Ihrem Unity-Projekt einrichten

  1. Wechseln Sie zu Ihrem Unity-Projekt.
  2. Klicken Sie im Hauptmenü auf Window > Xsolla > Edit Settings.
  3. Gehen Sie im Inspector-Fensterbereich wie folgt vor:
    1. Wählen Sie im Feld Authorization method die Option OAuth2.0 aus.
    2. Geben Sie im Feld OAuth2.0 client ID die bei der OAuth 2.0-Einrichtung im Kundenportal erhaltene Client-ID an.

Folgende Methoden sind für die Arbeit mit Aktualisierungstoken im Login & Account System-Asset integriert:

  • IsOAuthTokenRefreshInProgress – gibt während des laufenden Aktualisierungstokenprozesses true zurück, andernfalls false.
  • ExchangeCodeToToken – tauscht den Benutzerauthentifizierungstoken gegen einen gültigen JWT aus.

Das Argument oauthState aus der Methode GetSocialNetworkAuthUrl dient zur zusätzlichen Benutzerverifizierung während der OAuth 2.0-Authentifizierung. Mithilfe dieses Arguments werden eventuelle CSRF-Angriffe eingedämmt.

War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Ausblenden

So nutzen Sie ihre eigenes Autorisierungssystem

Achtung

Diese Anleitung ist nur für die Arbeit mit folgenden Assets bestimmt:

  • Game Commerce
  • Cross-Buy

Das Cross-Buy-Asset gilt ab April 2022 als veraltet. Sie können es weiterhin nutzen, allerdings wird es fortan weder aktualisiert noch durch neue Funktionen erweitert. Es wird empfohlen, auf das Game Commerce-Asset umzusteigen. Es enthält alle Klassen und Methoden, die für die Arbeit mit Xsolla-Produkten nötig sind.

Sie können die Game Commerce- und Cross-Buy-Assets in Ihr eigenes Anmeldesystem integrieren. Dafür müssen Sie die Benutzerauthentifizierung über den Zugriffstoken der Bezahlstation in Ihre Anwendung implementieren.

So erfolgt die Interaktion mit Xsolla-Servern bei Nutzung Ihres eigenen Autorisierungssystems:

  1. Ihr Client sendet eine Authentifizierungsanfrage an Ihren Server.
  2. Ihr Server autorisiert den Benutzer und sendet eine Anfrage an den Xsolla-Server, um den Zugriffstoken der Bezahlstation abzurufen.
  3. Der Xsolla-Server antwortet mit dem Bezahlstation-Zugriffstoken.
  4. Ihr Server übermittelt den Bezahlstation-Zugriffstoken an den Client.
  5. Die SDK-Methoden verwenden den empfangenen Bezahlstation-Zugriffstoken als Autorisierungstoken, um einen Ingame-Shop zu öffnen, eine Zahlung zu tätigen und das Inventar zu verwalten.

Zugriffstoken der Pay Station abrufen

Hinweis
Wenn Sie das PlayFab- oder Firebase-Autorisierungssystem verwenden, können Sie den Bezahlstation-Zugriffstoken mithilfe der fertigen Xsolla-Erweiterungen für BaaS.

Implementieren Sie im Backend Ihrer Anwendung eine Methode zum Abrufen eines Bezahlstation-Zugriffstokens mithilfe einer HTTP-POST-Anfrage.

Die Xsolla-API nutzt die HTTP-Basisauthentifizierung. Die Anfrage muss den Header Authorization: Basic <your_authorization_basic_key> enthalten, wobei <your_authorization_basic_key> dem gemäß Base64-Standard kodierten merchant_id:api_key entspricht. Sie finden die Parameterwerte im Kundenportal:

  • merchant_id – navigieren Sie zu Projekteinstellungen > Webhooks > Händler-ID.
  • api_key – navigieren Sie zu Firmeneinstellungen > API-Schlüssel.

HTTP-Anfrage:

Copy
Full screen
Small screen

http

  • http
  • curl
  • php
  • C#
  • python
  • ruby
  • java
  • javascript
POST https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token

Headers:
  Authorization: Basic <your_authorization_basic_key>
Content-Type: application/json

Body:
  {
  "purchase": {
    "virtual_currency": {
      "quantity": 100
    },
    "virtual_items": {
      "items": [
        {
          "amount": 1,
          "sku": "SKU01"
        }
      ]
    }
  },
  "settings": {
    "currency": "USD",
    "language": "en",
    "project_id": 16184,
    "ui": {
      "components": {
        "virtual_currency": {
          "custom_amount": true
        }
      },
      "desktop": {
        "virtual_item_list": {
          "button_with_price": true,
          "layout": "list"
        }
      },
      "size": "medium"
    }
  },
  "user": {
    "country": {
      "allow_modify": true,
      "value": "US"
    },
    "age": 19,
    "email": {
      "value": "john.smith@mail.com"
    },
    "id": {
      "value": "user_2"
    },
    "name": {
      "value": "John Smith"
    }
  }
}
curl --request POST \
  --url https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token \
  --header 'authorization: Basic <your_authorization_basic_key>' \
  --header 'content-type: application/json' \
  --data '{"user":{"id":{"value":"user_2"},"name":{"value":"John Smith"},"age":19,"email":{"value":"john.smith@mail.com"},"country":{"value":"US","allow_modify":true}},"settings":{"project_id":16184,"currency":"USD","language":"en","ui":{"size":"medium","desktop":{"virtual_item_list":{"layout":"list","button_with_price":true}},"components":{"virtual_currency":{"custom_amount":true}}}},"purchase":{"virtual_currency":{"quantity":100},"virtual_items":{"items":[{"sku":"SKU01","amount":1}]}}}'
<?php

$client = new http\Client;
$request = new http\Client\Request;

$body = new http\Message\Body;
$body->append('{"user":{"id":{"value":"user_2"},"name":{"value":"John Smith"},"age":19,"email":{"value":"john.smith@mail.com"},"country":{"value":"US","allow_modify":true}},"settings":{"project_id":16184,"currency":"USD","language":"en","ui":{"size":"medium","desktop":{"virtual_item_list":{"layout":"list","button_with_price":true}},"components":{"virtual_currency":{"custom_amount":true}}}},"purchase":{"virtual_currency":{"quantity":100},"virtual_items":{"items":[{"sku":"SKU01","amount":1}]}}}');

$request->setRequestUrl('https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders(array(
  'authorization' => 'Basic <your_authorization_basic_key>',
  'content-type' => 'application/json'
));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
var client = new RestClient("https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token");
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "Basic <your_authorization_basic_key>");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"user\":{\"id\":{\"value\":\"user_2\"},\"name\":{\"value\":\"John Smith\"},\"age\":19,\"email\":{\"value\":\"john.smith@mail.com\"},\"country\":{\"value\":\"US\",\"allow_modify\":true}},\"settings\":{\"project_id\":16184,\"currency\":\"USD\",\"language\":\"en\",\"ui\":{\"size\":\"medium\",\"desktop\":{\"virtual_item_list\":{\"layout\":\"list\",\"button_with_price\":true}},\"components\":{\"virtual_currency\":{\"custom_amount\":true}}}},\"purchase\":{\"virtual_currency\":{\"quantity\":100},\"virtual_items\":{\"items\":[{\"sku\":\"SKU01\",\"amount\":1}]}}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
import http.client

conn = http.client.HTTPSConnection("api.xsolla.com")

payload = "{\"user\":{\"id\":{\"value\":\"user_2\"},\"name\":{\"value\":\"John Smith\"},\"age\":19,\"email\":{\"value\":\"john.smith@mail.com\"},\"country\":{\"value\":\"US\",\"allow_modify\":true}},\"settings\":{\"project_id\":16184,\"currency\":\"USD\",\"language\":\"en\",\"ui\":{\"size\":\"medium\",\"desktop\":{\"virtual_item_list\":{\"layout\":\"list\",\"button_with_price\":true}},\"components\":{\"virtual_currency\":{\"custom_amount\":true}}}},\"purchase\":{\"virtual_currency\":{\"quantity\":100},\"virtual_items\":{\"items\":[{\"sku\":\"SKU01\",\"amount\":1}]}}}"

headers = {
    'content-type': "application/json",
    'authorization': "Basic <your_authorization_basic_key>"
    }

conn.request("POST", "/merchant/v2/merchants/{merchant_id}/token", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
require 'uri'
require 'net/http'

url = URI("https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request["authorization"] = 'Basic <your_authorization_basic_key>'
request.body = "{\"user\":{\"id\":{\"value\":\"user_2\"},\"name\":{\"value\":\"John Smith\"},\"age\":19,\"email\":{\"value\":\"john.smith@mail.com\"},\"country\":{\"value\":\"US\",\"allow_modify\":true}},\"settings\":{\"project_id\":16184,\"currency\":\"USD\",\"language\":\"en\",\"ui\":{\"size\":\"medium\",\"desktop\":{\"virtual_item_list\":{\"layout\":\"list\",\"button_with_price\":true}},\"components\":{\"virtual_currency\":{\"custom_amount\":true}}}},\"purchase\":{\"virtual_currency\":{\"quantity\":100},\"virtual_items\":{\"items\":[{\"sku\":\"SKU01\",\"amount\":1}]}}}"

response = http.request(request)
puts response.read_body
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"user\":{\"id\":{\"value\":\"user_2\"},\"name\":{\"value\":\"John Smith\"},\"age\":19,\"email\":{\"value\":\"john.smith@mail.com\"},\"country\":{\"value\":\"US\",\"allow_modify\":true}},\"settings\":{\"project_id\":16184,\"currency\":\"USD\",\"language\":\"en\",\"ui\":{\"size\":\"medium\",\"desktop\":{\"virtual_item_list\":{\"layout\":\"list\",\"button_with_price\":true}},\"components\":{\"virtual_currency\":{\"custom_amount\":true}}}},\"purchase\":{\"virtual_currency\":{\"quantity\":100},\"virtual_items\":{\"items\":[{\"sku\":\"SKU01\",\"amount\":1}]}}}");
Request request = new Request.Builder()
  .url("https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token")
  .post(body)
  .addHeader("content-type", "application/json")
  .addHeader("authorization", "Basic <your_authorization_basic_key>")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify({
  "user": {
    "id": {
      "value": "user_2"
    },
    "name": {
      "value": "John Smith"
    },
    "age": 19, 
    "email": {
      "value": "john.smith@mail.com"
    },
    "country": {
      "value": "US",
      "allow_modify": true
    }
  },
  "settings": {
    "project_id": 16184,
    "currency": "USD",
    "language": "en",
    "ui": {
      "size": "medium",
      "desktop": {
        "virtual_item_list": {
          "layout": "list",
          "button_with_price": true
        }
      },
      "components": {
        "virtual_currency": {
          "custom_amount": true
        }
      }
    }
  },
  "purchase": {
    "virtual_currency": {
      "quantity": 100
    },
    "virtual_items": {
      "items": [
        {
          "sku": "SKU01",
          "amount": 1
        }
      ]
    }
  }
});

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token");
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("authorization", "Basic <your_authorization_basic_key>");

xhr.send(data);

Übermitteln Sie die folgenden Parameter im Anfragerumpf, um den Token abzurufen:

ParameterTypBeschreibung
settings
objectBenutzerdefinierte Projekteinstellungen (Objekt).
settings.project_id
integerXsolla-ID des Spiels. Kann im Kundenportal neben dem Namen Ihres Projekts eingesehen werden. Erforderlich.
user
objectBenutzerdaten (Objekt).
user.id
objectBenutzer-ID in Ihrem Autorisierungssystem (Objekt).
user.id.value
stringBenutzer-ID. Erforderlich.
user.email
objectE-Mail-Adresse des Benutzers (Objekt).
user.email.value
stringE-Mail-Adresse des Benutzers. Muss gemäß RFC 822-Protokoll gültig sein. Erforderlich.
user.name
objectBenutzername (Objekt).Erforderlich.
user.name.value
stringAnzeigename des Benutzers
user.steam_id
objectBenutzer-ID bei Steam (Objekt).
user.steam_id.value
stringBenutzer-ID bei Steam. Erforderlich, sofern die Anwendung auf Steam veröffentlicht ist.
user.playfab_id
objectBenutzer-ID bei PlayFab (Objekt)
user.playfab_id.value
stringBenutzer-ID bei PlayFab. Erforderlich, sofern die Anwendung PlayFab-Dienste nutzt, um Gegenstände zu gewähren.

Beispielhafte Anfragen und Antworten finden Sie in der API-Referenz.

Hinweis
Verwenden Sie in der Anfrage nur Parameter aus der obigen Liste. Übermitteln Sie keine anderen Parameter des API-Aufrufs (custom_parameters, purchase usw.), da sie sind nicht dafür bestimmt sind, einen Autorisierungs-Token abzurufen.

Benutzer-JWT verwenden

Um mit dem Bezahlstation-Zugriffstoken einen Ingame-Shop zu öffnen, eine Zahlung zu tätigen und das Inventar zu verwalten, übermitteln Sie ihn an die XsollaLogin.Instance.Token- und XsollaStore.Instance.Token-Eigenschaften in den SDK-Methoden.

Beispiele für die Nutzung des Autorisierungstokens finden Sie in den Tutorials:

Implementieren Sie die Logik für den Erhalt eines neuen Bezahlstation-Zugriffstokens nach dessen Verfall. Es wird empfohlen, einen neuen Token im Hintergrund abzurufen, damit sich der Benutzer nicht erneut bei der Anwendung anmelden muss.

Hinweis
Bei der Arbeit mit dem Ingame-Online-Shop und dem Inventar verfällt der Bezahlstation-Zugriffstokens 1 Stunde nach dem letztmaligen Aufruf der Xsolla-API. Wenden Sie sich an Ihren Account Manager, um die Verfallszeit des Bezahlstation-Zugriffstokens zu ändern.
War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Ausblenden

So richten Sie die native Authentifizierung über soziale Netzwerke ein

Mit der nativen Authentifizierung können sich Benutzer über ein auf einem mobilen Gerät konfigurierten Social-Media-Konto bei Ihrer Anwendung anmelden.

Wenn sich ein Benutzer zum ersten Mal anmeldet, wird die Social-Media-Anwendung gestartet und bittet um Erlaubnis, den Benutzer zu authentifizieren. Danach erfolgt die Authentifizierung automatisch, ohne dass der Benutzer etwas tun muss.

Derzeit unterstützt das SDK die native Authentifizierung über die folgenden sozialen Netzwerke:

  • Google
  • Facebook
  • WeChat
  • QQ

So konfigurieren Sie die native Authentifizierung:

    1. Erstellen Sie die Build Ihres Unity-Projekts für Android.
    2. Konfigurieren Sie die Anwendung im Entwicklerkonto des entsprechenden sozialen Netzwerks:
      1. Gehen Sie für die Authentifizierung über Facebook wie folgt vor:
        1. Registrieren Sie sich, und erstellen Sie eine neue Anwendung.
        2. Konfigurieren Sie die Anwendungsseite in Ihrem Facebook-Entwicklerkonto.
      2. Konfigurieren Sie für die Authentifizierung über Google das Projekt in der Google API Console.
      3. Gehen Sie für die Authentifizierung über WeChat wie folgt vor:
        1. Registrieren Sie sich, und erstellen Sie eine neue Anwendung.
        2. Reichen Sie die Anwendung zur Überprüfung ein.
      4. Gehen Sie für die Authentifizierung über QQ wie folgt vor:
        1. Registrieren Sie sich, und erstellen Sie eine neue Anwendung.
        2. Reichen Sie die Anwendung zur Überprüfung ein.

    1. Konfigurieren Sie die Authentifizierung über soziale Netzwerke aufseiten von Xsolla:
      1. Für Facebook bzw. Google müssen Sie das jeweilige soziale Netzwerk im Kundenportal einbinden.
      2. Für WeChat und QQ müssen Sie sich an Ihren Account Manager wenden.
    2. Konfigurieren Sie das Asset für Ihr Unity-Projekt.

    Unity-Projekt-Build für Android erstellen

    1. Wechseln Sie zu Ihrem Unity-Projekt.
    2. Klicken Sie im Hauptmenü auf File > Build settings.
    3. Klicken Sie im Platform-Fensterbereich auf Android.
    4. Klicken Sie auf Build.
    5. Stellen Sie sicher, dass der Hash-Key generiert ist:
      1. Klicken Sie im Hauptmenü auf Window > Xsolla > Edit Settings.
      2. Vergewissern Sie sich, dass der Hash-Key im Feld Android debug hash key angezeigt wird.

    Für die weitere Konfiguration der nativen Authentifizierung benötigen Sie Folgendes:

    • Package Name: diesen finden sie im Inspector-Fensterbereich nach Auswahl von Android als Plattform unter File > Build settings.
    • Android class name: diesen finden Sie unter Window > Xsolla > Edit Settings > Inspector > Android class name.
    • Android debug hash key: diesen finden Sie unter Window > Xsolla > Edit Settings > Inspector > Android debug hash key.

    Anwendungsseite in Ihrem Facebook-Entwicklerkonto einrichten

    1. Wechseln Sie in die Projekteinstellungen des Facebook-Entwicklerkontos.
    2. Navigieren Sie zu Einstellungen > Allgemeines.
    3. Klicken Sie auf Plattform hinzufügen, und wählen Sie Android aus.
    4. Geben Sie den Package Name aus Ihrem Unity-Projekt im Feld Google Play Package-Name an.
    5. Geben Sie den Android class name aus Ihrem Unity-Projekt im Feld Klassenname an.
    6. Geben Sie den Android debug hash key aus Ihrem Untiy-Projekt im Feld Key-Hashes an.
    7. Klicken Sie auf Änderungen speichern.

    Zur weiteren Konfiguration der nativen Authentifizierung benötigen Sie eine App-ID und einen App-Geheimcode. Beide finden Sie in den Projekteinstellungen unter Einstellungen > Allgemeines.

    Projekt in der Google API Console einrichten

    1. Wechseln Sie zur Google API Console.
    2. Klicken Sie auf Neues Projekt.
    3. Geben Sie den Projektnamen und den Speicherort an, und klicken Sie auf Erstellen.
    4. Wechseln Sie zum erstellten Projekt, und klicken Sie im Seitenmenü auf OAuth-Zustimmungsbildschirm.
    5. Wählen Sie die Option Extern aus, und klicken Sie auf Erstellen.
    6. Geben Sie die nötigen Parameter an, und klicken Sie auf Speichern.
    7. Klicken Sie im Seitenmenü auf Anmeldedaten.
    8. Erstellen Sie einen OAuth 2.0-Client für die Unity-Anwendung:
      1. Klicken Sie auf Anmeldedaten erstellen, und wählen Sie OAuth-Client-ID aus.
      2. Wählen Sie unter Anwendungstyp die Option Android aus.
      3. Geben Sie einen Namen an.
      4. Geben Sie den Package Name aus dem Unity-Projekt im Feld Paketname an.
      5. Geben Sie den Android debug hash key aus dem Unity-Projekt im Feld SHA-1-Zertifikatfingerabdruck an.
      6. Klicken Sie auf Erstellen.
      7. Klicken Sie auf OK.
    1. Erstellen Sie einen OAuth 2.0-Client für die Webanwendung:
      1. Klicken Sie auf Anmeldedaten erstellen, und wählen Sie OAuth-Client-ID aus.
      2. Wählen Sie unter Anwendungstyp die Option Webanwendung aus.
      3. Geben Sie einen Namen an.
      4. Klicken Sie unter Autorisierte Weiterleitungs-URIs auf URI hinzufügen, und geben Sie folgende URI an: https://login.xsolla.com/api/social/oauth2/callback.
      5. Klicken Sie auf Erstellen.
      6. Klicken Sie auf OK.

    Zur weiteren Konfiguration der nativen Authentifizierung benötigen Sie eine Client-ID und einen Clientschlüssel. Beide finden Sie in den Einstellungen der Client-ID für die Webanwendung.

    Soziale Netzwerke für Login-Projekte im Kundenportal einbinden

    1. Öffnen Sie Ihr Projekt im Kundenportal.
    2. Klicken Sie im Seitenmenü auf Login, und navigieren Sie zu Login-Projekte > Ihr Login-Projekt > Social-Media-Einbindung.
    3. So richten Sie die Authentifizierung über Facebook ein:
      1. Klicken Sie im Facebook-Block auf Bearbeiten, und ändern Sie den Status in Getrennt.
      2. Geben Sie die App-ID aus dem Facebook-Entwicklerkonto im Feld Application ID an.
      3. Geben Sie den App-Geheimcode aus dem Facebook-Entwicklerkonto im Feld Application Secret an.
      4. Klicken Sie auf Verknüpfen.
    1. So richten Sie die Authentifizierung über Google ein:
      1. Klicken Sie im Google-Block auf Bearbeiten, und ändern Sie den Status in Getrennt.
      2. Geben Sie die Client-ID für eine Webanwendung aus der Google API Console im Feld Application ID an.
      3. Geben Sie den Clientschlüssel für eine Webanwendung aus der Google API Console im Feld Application Secret an.
      4. Klicken Sie auf Verknüpfen.

    Inhalte für Ihr Unity-Projekt einrichten

    1. Wechseln Sie zu Ihrem Unity-Projekt.
    2. Klicken Sie im Hauptmenü auf Window > Xsolla > Edit Settings.
    3. Geben Sie die Anwendungs-ID an:
      1. Geben Sie die App-ID aus Ihrem Facebook-Entwicklerkonto im Feld Facebook App ID an.
      2. Geben Sie die Client-ID für eine Webanwendung aus der Google API Console im Feld Google server ID an.
      3. Geben Sie die AppID aus den WeChat-Anwendungseinstellungen unter WeChat App ID an.
      4. Geben Sie die AppID aus den QQ-Anwendungseinstellungen unter QQ App ID an.
      War dieser Artikel hilfreich?
      Vielen Dank!
      Gibt es etwas, das wir verbessern können? Nachricht
      Das tut uns leid
      Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
      Vielen Dank für Ihr Feedback!
      Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
      Ausblenden

So richten Sie die native Authentifizierung über Steam ein

Die native Authentifizierung ermöglicht es Spielern, Ihre Anwendung über die installierte Steam-Anwendung zu starten.

So richten Sie die native Authentifizierung ein:

  1. Konfigurieren Sie die stille Authentifizierung über Steam im Kundenportal.
  2. Konfigurieren Sie Ihr Unity-Projekt.
  3. Konfigurieren Sie die Ereignisverarbeitung.
  4. Ermöglichen Sie die Authentifizierung über Steam.

Unity-Projekt konfigurieren

  1. Erstellen Sie eine steam_appid.txt-Datei auf manuelle Weise, und geben Sie Ihre Anwendungs-ID aus Steam darin ein. Platzieren Sie die Datei im Anschluss im Assets-Katalog Ihres Projekts.
Hinweis
Nachdem Sie ein Asset aus GitHub heruntergeladen haben, finden Sie im Katalog Assets die Datei steam_appid.txt. Diese Datei enthält die Anwendungs-ID aus Steam für ein Demoprojekt.
  1. Öffnen Sie Ihr Unity-Projekt.
  2. Navigieren Sie im Hauptmenü zu Window > Xsolla > Edit Settings.
  3. Gehen Sie im Inspector-Fensterbereich wie folgt vor:
    1. Aktivieren Sie das Kontrollkästchen Use Steam authorization.
    2. Geben Sie im Feld Steam App ID Ihre Anwendungs-ID aus Steam an. Der Wert sollte mit jenem aus der Datei steam_appid.txt übereinstimmen.

Ereignisverarbeitung einrichten

Für die Benutzerauthentifizierung über Steam sollten Sie ein session ticket über die Methode SteamAuth abrufen. Übermitteln Sie den empfangenen Wert beim Aufruf der Methode RequestTokenBy. Infolgedessen erhalten Sie den Token, welcher im Rahmen der API zum Einsatz kommt.

Authentifizierung über Steam ermöglichen

  1. Erstellen Sie die Build Ihres Unity-Projekts für eine eigenständige Plattform.
  2. Starten Sie Steam und melden Sie sich an.
  3. Starten Sie Ihre Anwendung. Wen alles in Ordnung ist, wird das Steam-Pop-up-Fenster angezeigt.
War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Ausblenden

So richten Sie die Tokeninvalidierung ein

Die Tokeninvalidierung verbessert die Sicherheit der Benutzerauthentifizierungsdaten in Ihrer Anwendung. Wenn die Option aktiviert ist, wird bei jeder Benutzerauthentifizierung der alte Token ungültig und durch einen neuen ersetzt.

Hinweis
Sie können die Tokeninvalidierung für die Authentifizierung konfigurieren, die einen JWT-Token nutzen. Bei der OAuth 2.0-Authentifizierung wird die Tokeninvalidierung vom Protokoll selbst bereitgestellt und muss nicht separat konfiguriert werden.

Bei Nutzung des SDK erfolgt die Invalidierung des bestehenden Tokens und die Generierung eines neuen mithilfe der API-Aufrufe Auth by username and password und Auth via social network, sofern der Parameter with_logout den Wert 1 aufweist.

So aktivieren Sie die Tokeninvalidierung in Ihrem Unity-Projekt:

  1. Navigieren Sie im Hauptmenü zu Window > Xsolla > Edit Settings.
  2. Aktivieren Sie im Inspector-Fensterbereich das Kontrollkästchen Enable JWT invalidation.

War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Ausblenden

So richten Sie die Authentifizierung in der Anwendung über das Launcher ein

Mithilfe des Xsolla-Startprogramms können Sie Ihre Anwendungen an Benutzer ausliefern und aktualisieren. Das Startprogramm verfügt über ein integriertes Autorisierungstool. Richten Sie die Autorisierung in Ihrer Anwendung über das Startprogramm ein, damit der Benutzername und das Passwort nicht erneut eingegeben werden müssen.

Achtung
Um das Startprogramm verwenden zu können, muss Login konfiguriert sein. Die Nutzung eines anderen Autorisierungssystems wird nicht unterstützt.

SDK und Launcher für das Zusammenspiel untereinander einrichten

  1. Konfigurieren Sie das Startprogramm im Kundenportal.
Hinweis
Es genügt, in der Datei config.json die Werte für folgende Objekte zu ändern:
  • launcher_project_id – geben Sie die Startprogramm-ID an. Diese finden Sie unter Kundenportal > Startprogramm > Allgemeine Einstellungen > Allgemeine Angaben
  • login_project_id – geben Sie die Login-ID an. Diese finden Sie unter Kundenportal > Startprogramm > Allgemeine Einstellungen > Authentifizierung
  1. Passen Sie die Benutzeroberfläche des Startprogramms an.
Achtung
Für die Integration von SDKs in Xsolla-Server kommen die Aufrufe der Commerce API zum Einsatz, daher wird der Startprogramm-Speicher nicht unterstützt.
  1. Implementieren Sie die Autorisierungslogik des Startprogramms in Ihrer Anwendung.
  2. Generieren Sie eine Startprogramm-Installationsdatei und ein Build-Archiv.
  3. Erstellen Sie eine Anwendungs-Build.
  4. Laden Sie die Anwendungs-Build auf den Xsolla-Updateserver hoch.

Logik für die Authentifizierung über das Launcher implementieren

Der Ablauf für die Autorisierung in der Anwendung über das Startprogramm ist wie folgt:

  1. Der Benutzer autorisiert sich im Startprogramm.
  2. Der Benutzer installiert die Anwendung und führt sie aus.
  3. Das Startprogramm führt die Anwendung aus und übermittelt Benutzerparameter in der Befehlszeile. Der Autorisierungstoken wird im Parameter xsolla-login-token übermittelt.
  4. Die Anwendung verarbeitet die Befehlszeilenparameter und erhält einen Token. Ein beispielhaftes Skript für die Tokenverarbeitung ist im Demoprojekt einsehbar.
  5. Die Anwendung validiert den empfangen Token. Ein beispielhaftes Skript für die Tokenvalidierung ist im Demoprojekt einsehbar.
  6. Die Anwendung autorisiert den Benutzer automatisch, ohne eine Autorisierungsseite anzuzeigen. Ein beispielhaftes Skript für die Benutzerautorisierung ist im Demoprojekt einsehbar.

Hinweis
Der erhaltene Token wird von SDK-Methoden genutzt, um einen Ingame-Shop zu öffnen, eine Zahlung vorzunehmen usw. Übermitteln Sie den Token an die Eigenschaften XsollaLogin.Instance.Token und XsollaStore.Instance.Token.

Anwendungs-Build erstellen

  1. Wechseln Sie zu Ihrem Unity-Projekt.
  2. Klicken Sie im Hauptmenü auf Window > Xsolla > Edit Settings. Gehen Sie im Inspector-Fensterbereich wie folgt vor:
    1. Geben Sie im Feld Project ID die Projekt-ID an. Diese finden Sie unter Kundenportal > Projekteinstellungen > Projekt-ID.
    2. Geben Sie im Feld Login ID die Login-ID an. Diese finden Sie unter Kundenportal > Startprogramm > Allgemeine Einstellungen > Authentifizierung.
  1. Führen Sie die Benutzerautorisierungsszene aus, in der der Token verarbeitet wird.
  2. Klicken Sie im Hauptmenü auf File > Build settings und dann auf Add Open Scenes. Stellen Sie sicher, dass die Autorisierungsszene an erster Stelle in der Liste hinzugefügt wird.
  3. Klicken Sie auf Build.
  4. Geben Sie im Pop-up-Fenster den Pfad zu dem Verzeichnis an, in dem die fertige Build abzulegen ist.
War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Ausblenden

So implementieren Sie die Benutzerauthentifizierung über die Geräte-ID

Mit der Geräte-ID-Authentifizierung können Benutzer die Anwendung auf einem Mobilgerät nutzen, ohne Registrierungsdaten eingeben zu müssen. Wenn sich ein Benutzer zum ersten Mal mit der Geräte-ID bei der Anwendung anmeldet, wird automatisch ein neues Konto erstellt, ohne dass der Benutzer einen Benutzernamen, eine E-Mail-Adresse oder sonstige Daten eingeben muss.

Achtung
Das mit der Geräte-ID erstellte Konto ermöglicht die Nutzung der Anwendung nur auf dem vorliegenden Mobilgerät. Der Zugriff auf das Konto ist nach einem Wechsel des Android- bzw. iOS-Geräts oder nach Deinstallation der Anwendung vom iOS-Gerät nicht mehr möglich. Um den Fortschritt in der Anwendung zu speichern und das Konto auf anderen Geräten zu verwenden, muss der Benutzer das Konto upgraden, indem er es mit einem sozialen Netzwerk verknüpft oder einen Benutzernamen, eine E-Mail-Adresse und ein Passwort eingibt.

Mit der Geräte-ID können Sie Benutzer auf einem oder mehreren Mobilgeräten im Hintergrund authentifizieren. Um diese Funktion nutzen zu können, sollte der Benutzer die Geräte-ID mit einem bestehenden Konto verknüpfen.

Das SDK unterstützt die Authentifizierung über die Mobilgeräte-ID unter Android und iOS.

Geräte-ID abrufen

Die Geräte-ID wird von der Plattform generiert und ist für Anwendungen verfügbar, die auf dem Mobilgerät installiert sind. Das SDK ruft den ID-Wert über die Plattform-API ab und verwendet ihn, um verschiedene Funktionen über die Xsolla-API auszuführen.

Die ID des iOS-Geräts wird in der Eigenschaft UIDevice.identifierForVendor übermittelt. Die standardmäßige Unity-Methode SystemInfo.deviceUniqueIdentifier dient dazu, die ID zu ermitteln.

Die ID des Android-Geräts wird in der Konstante android.provider.Settings.Secure.ANDROID_ID übermittelt. Das SDK verwendet seine eigene Logik, um die ID zu ermitteln, da die standardmäßige Unity-Methode die ID des Android-Geräts als MD5-Hashwert zurückgibt, der für Xsolla-API-Aufrufe ungeeignet ist.

SDK-Methoden

Das SDK implementiert Methoden für die folgenden Funktionen:

Authentifizierung

Name der SDK-MethodeBeschreibung
AuthViaDeviceID
Authentifiziert den Benutzer gegenüber der Anwendung anhand der aktuellen Geräte-ID.

Konto-Upgrade

Name der SDK-MethodeBeschreibung
AddUsernameEmailAuthToAccount
Fügt dem aktuellen Konto einen Benutzernamen, eine E-Mail-Adresse und ein Passwort hinzu, die zur Authentifizierung verwendet werden können.
LinkSocialProvider
Verknüpft ein soziales Netzwerk, das zur Authentifizierung verwendet werden kann, mit dem aktuellen Konto.
Achtung
Die aufgelisteten Methoden dienen dazu, ein auf beliebige Weise erstelltes Konto zu upgraden (z. B. durch Verknüpfen eines sozialen Netzwerks oder durch Eingabe einer E-Mail-Adresse und eines Passworts).

Geräteverwaltung

Name der SDK-MethodeBeschreibung
GetUserDevices
Gibt eine Liste der Geräte zurück, die mit dem aktuellen Benutzerkonto verknüpft sind.
LinkDeviceToAccount
Verknüpft das angegebene Gerät mit dem aktuellen Benutzerkonto.
UnlinkDeviceFromAccount
Hebt die Verknüpfung des angegebenen Geräts mit dem aktuellen Benutzerkonto auf.
War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Ausblenden
Letztmalig aktualisiert: 22. Januar 2024

Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.

Problem melden
Wir überprüfen unsere Inhalte ständig. Ihr Feedback hilft uns, sie zu verbessern.
Geben Sie eine E-Mail-Adresse an, damit wir Sie erreichen können
Vielen Dank für Ihr Feedback!