Authentifizierung

Erfahren Sie mehr über erweiterte Einrichtungen in unseren Anleitungen.
Notice
Diese Anleitungen sind für die Arbeit mit der Login-Bibliothek bestimmt.

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

Bei aktivierter Option erfolgt die Benutzerregistrierung und ‑authentifizierung mithilfe der API-Aufrufe Register new user und JWT auth by username and password. Die Login-Bibliothek bietet für die OAuth 2.0-Autorisierung dieselben Methoden wie für die JWT-Autorisierung.

Note
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. Initialisieren Sie die Bibliothek.

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

  1. Wechseln Sie ins Kundenportal.
  2. Klicken Sie im Block Login auf Öffnen, und navigieren Sie zu Login-Projekte.
  3. Klicken Sie dort auf Öffnen und einrichten.
  4. Navigieren Sie zu Allgemeine Einstellungen > Autorisierung.
  5. Klicken Sie unter OAuth 2.0-Authentifizierung auf Verbinden.
  6. Geben Sie die OAuth 2.0-URIs für die Weiterleitung an, und klicken Sie auf Verbinden.
  7. Kopieren und speichern Sie die Client-ID.

Bibliothek initialisieren

Fügen Sie dem Quellcode Ihres Android-Projekts folgende Zeile hinzu und geben Sie dabei folgende Parameter an, um die Bibliothek zu initialisieren:

  • login-project-idLogin-ID. Diese finden Sie unter Kundenportal > Login-Einstellungen > Login-ID.
  • oauth2-client-id – Die bei der OAuth 2.0-Einrichtung im Kundenportal erhaltene Client-ID.

Copy
Full screen
Small screen
val loginConfig = LoginConfig.OauthBuilder()
                .setProjectId("login-project-id")
                .setOauthClientId("oauth2-client-id")
                .build()

XLogin.init(applicationContext, loginConfig)

Folgende Methoden sind für die Arbeit mit Aktualisierungstoken in der Login-Bibliothek integriert:

  • XLogin.refreshToken – aktualisiert den Token.
  • XLogin.getToken – gibt den aktuellen Token zurück.
  • XLogin.isTokenExpired – gibt true zurück, falls der Token abgelaufen 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 nutzen Sie Ihr eigenes Anmeldesystem

Sie können die Store-, Payments- und Inventory-Bibliothek in Ihr eigenes Anmeldesystem integrieren. Dafür müssen Sie die Benutzerauthentifizierung über den Zugriffstoken der Bezahlstation in Ihre Anwendung implementieren. Siehe hierfür den Authentifizierungsalgorithmus in der Dokumentation des Ingame-Online-Shops.

Implementieren sie die folgende Logik in Ihre Anwendung:

  1. Implementieren Sie im Back-End Ihrer Anwendung eine Methode für den Erhalt des Zugriffstokens der Bezahlstation mittels HTTP-POST-Anfrage. Die Xsolla-API nutzt die HTTP-Basisauthentifizierung. Geben Sie als Benutzername Ihre Händler-ID und als Passwort den API-Schlüssel ein.

HTTP-Anfrage:

Copy
Full screen
Small screen
POST https://api.xsolla.com/merchant/v2/merchants/{merchant_id}/token

Mehr über das Abrufen eines Tokens erfahren Sie in der Bezahlstation-Dokumentation.

  1. Übermitteln Sie den empfangenen Bezahlstation-Zugriffstoken an die Methode XStore.init.
  2. 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.

Note
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. 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.

  1. Installieren Sie Bibliotheken für Authentifizierungen über soziale Netzwerke. Öffnen Sie dazu die Datei build.gradle Ihrer Anwendung, und fügen Sie im Abhängigkeiten-Abschnitt die folgenden Zeilen hinzu, wobei <version_number> der erforderlichen Bibliotheksversion entspricht:
    • Für die Authentifizierung über Facebook:

Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-facebook:<version_number>'

    • Für die Authentifizierung über Google:

Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-google:<version_number>'

    • Für die Authentifizierung über WeChat:

Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-wechat:<version_number>'

    • Für die Authentifizierung über QQ:

Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-qq:<version_number>'

  1. Initialisieren Sie die Login-Bibliothek mit den folgenden Parametern:
    • facebook_id: App-ID aus dem Facebook-Entwicklerkonto
    • google_id: Client-ID für die Webanwendung aus der Google API Console
    • wechat_id: AppID aus dem WeChat-Entwicklerkonto.
    • qq_id: AppID aus dem QQ-Entwicklerkonto

Beispielhafte Initialisierung der Bibliothek beim Authentifizieren über JWT:

Copy
Full screen
Small screen
val loginConfig = LoginConfig.JwtBuilder()
                .setProjectId("login-project-id")
                .setCallbackUrl("your-callback-url")
                .setSocialConfig(XLogin.SocialConfig(
                     facebookAppId = "facebook_id",
                     googleServerId = "google_id",
                     wechatAppId = "wechat_id",
                     qqAppId = "qq_id"
                ))
                .build()

XLogin.init(applicationContext, loginConfig)

Beispielhafte Initialisierung der Bibliothek beim Authentifizieren über OAuth 2.0:

Copy
Full screen
Small screen
val loginConfig = LoginConfig.OauthBuilder()
                .setProjectId("login-project-id")
                .setOauthClientId("oauth2-client-id")
                .setCallbackUrl("your-callback-url")
                .setSocialConfig(XLogin.SocialConfig(
                     facebookAppId = "facebook_id",
                     googleServerId = "google_id",
                     wechatAppId = "wechat_id",
                     qqAppId = "qq_id"
                ))

                .build()

XLogin.init(applicationContext, loginConfig)

  1. Damit die Authentifizierung über WeChat möglich ist, muss der Anwendungscode modifiziert werden:
    • Fügen Sie dem <your_package_name>.wxapi-Paket die Klasse WXEntryActivity hinzu, wobei <your_package_name> dem Namen Ihres Anwendungspakets entspricht:

Copy
Full screen
Small screen
package <your_package_name>.wxapi

import android.app.Activity
import android.os.Bundle
import com.tencent.mm.opensdk.modelbase.BaseReq
import com.tencent.mm.opensdk.modelbase.BaseResp
import com.tencent.mm.opensdk.openapi.IWXAPI
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
import com.tencent.mm.opensdk.openapi.WXAPIFactory
import com.xsolla.android.login.social.LoginSocial

class WXEntryActivity : Activity(), IWXAPIEventHandler {

    private lateinit var iwxapi: IWXAPI

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        iwxapi = WXAPIFactory.createWXAPI(this, LoginSocial.wechatAppId, false)
        iwxapi.handleIntent(intent, this)
        finish()
    }

    override fun onReq(req: BaseReq?) {
    }

    override fun onResp(resp: BaseResp) {
        LoginSocial.wechatResult = resp
    }
}

    • Fügen Sie Ihrer AndroidManifest.xml-Datei die folgenden Elemente hinzu:

Copy
Full screen
Small screen
<activity
            android:name=".wxapi.WXEntryActivity"
            android:exported="true">

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 Paketnamen Ihrer Android-Anwendung im Feld Google Play Package-Name an.
  5. Geben Sie im Feld Klassenname einen zulässigen Klassennamen für die Hauptaktivität an.
  6. Generieren Sie einen Hash-Key, und geben Sie ihn 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 Android-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 Paketnamen aus Ihrer Android-Anwendung im Feld Paketname an.
    5. Rufen Sie den SHA-Schlüssel ab.
    6. Geben Sie den im vorherigen Schritt generierten SHA-Schlüssel im Feld SHA-1-Zertifikatfingerabdruck an.
    7. Klicken Sie auf Erstellen.
    8. 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.

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.

Note
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 der Login-Bibliothek 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.

Um die Tokeninvalidierung in Ihrem Android Projekt zu verwenden, müssen Sie den Parameter withLogout = true in den Methoden XLogin.authenticate, XLogin.startSocialAuth und XLogin.finishSocialAuth übermitteln.

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
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.
Diese Seite bewerten
Diese Seite bewerten
Gibt es etwas, das wir verbessern können?

Jetzt nicht

Vielen Dank für Ihr Feedback!
Letztmalig aktualisiert: 17. Juni 2021

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!