Sie können Apps erstellen oder autorisieren, die Open Cloud APIs verwenden, um auf Roblox-Ressourcen zuzugreifen. Open Cloud bietet diese Apps über OAuth 2.0 Authentifizierung an.
- Als Spieleschöpfer oder Gruppenbesitzer
Sie können sicher Tools verwenden, die von anderen erstellt wurden, um Ihre Produktivität bei der Erstellung zu verbessern. Die OAuth 2.0 Autorisierungsschicht ermöglicht es Ihnen, Drittanbieteranwendungen Berechtigungen zu gewähren, um auf Ihre oder die Spiele Ihrer Gruppe zuzugreifen, ohne ihnen Ihre Anmeldedaten und persönlichen Informationen zu geben. Sie wählen die Zugriffsberechtigungen Ihrer speziellen Roblox-Ressourcen aus, und Roblox kümmert sich mit dem OAuth 2.0 Rahmen um den Autorisierungsprozess.
- Als App-Entwickler
Sie können Apps für sich selbst und andere in der Roblox-Community erstellen. OAuth 2.0 definiert die Rollen, die am Autorisierungsprozess beteiligt sind, das Protokoll, wie die Rollen miteinander interagieren, und die Autorisierungsabläufe, die Sie befolgen müssen, um sichere und kompatible Apps zu entwickeln.
Rollen
Das Open Cloud OAuth 2.0 Protokoll hat die folgenden Rollen. Es ist hilfreich, die spezifischen Rollen zu verstehen, bevor man lernt, wie sie in den Autorisierungsabläufen miteinander interagieren.
Ressourcenbesitzer: Eine Entität, die Zugriff auf eine geschützte Ressource gewähren kann. Zum Beispiel ein Ersteller, der einer Drittanbieteranwendung den Zugriff auf ihre Roblox-Ressourcen über Open Cloud Web APIs erlaubt.
Ressourcenserver: Ein Roblox-Dienst, der geschützte Ressourcen hostet und auf Anfragen von einem Ressourcenbesitzer reagiert.
Client: Eine App, die geschützte Ressourcen im Namen des Ressourcenbesitzers (mit der Genehmigung des Besitzers) zugreift.
Autoriserungsserver: Der Roblox-Server, der die Identität des Ressourcenbesitzers authentifiziert und Zugangstoken an den Client ausgibt.
Grant-Typen
Autorisierungsabläufe, oder Grant-Typen, sind die Schritte von Aktionen, die Rollen während des Autorisierungsprozesses ausführen. Roblox unterstützt den OAuth 2.0 Autorisierungscodefluss und seine Proof Key for Code Exchange (PKCE) Erweiterung, mit unterschiedlichen Implementierungsanforderungen für Apps, die in der Lage sind oder nicht in der Lage sind, Client-Geheimnisse zu speichern.
Autorisierungscodefluss
Im Rahmen des Autorisierungscodeflusses tauscht ein Client einen Autorisierungscode gegen ein Zugangstoken und ein Refresh-Token aus, um den Autorisierungsprozess in den folgenden Schritten abzuschließen:
Der Client sendet eine Autorisierungsanfrage an den Roblox Autorisierungsserver.
Der Autorisierungsserver überprüft die Identität des Ressourcenbesitzers.
Der Autorisierungsserver erhält Berechtigungen für den Zugriff auf spezifische Roblox-Ressourcen vom Ressourcenbesitzer.
Der Autorisierungsserver leitet den Ressourcenbesitzer mit einem Autorisierungscode an den Client zurück.
Der Client beantragt ein Zugangstoken unter Verwendung des Autorisierungscodes beim Token-Endpunkt.
Der Client erhält eine Antwort vom Token-Endpunkt, die ein Zugangstoken, ein ID-Token und ein Refresh-Token enthält.
Der Client ruft die erlaubten Ressourcen nach Erhalt des Zugangstokens ab.
Die folgende Abbildung beschreibt die Interaktionen zwischen den Rollen im Autorisierungscodefluss, die Sie in den folgenden Abschnitten lesen werden:

Autorisierungscodefluss mit PKCE
Die PKCE-Erweiterung des Autorisierungscodeflusses hilft, das Risiko des Lecks des Autorisierungscodes zu reduzieren und Cross-Site Request Forgery (CSRF) zu verhindern, einen Angriff, der Benutzer dazu verleitet, unbeabsichtigte Webanfragen zu senden. Dieser Ablauf schließt den Autorisierungsprozess mit den folgenden Schritten ab:
Der Client generiert einen eindeutigen und kryptografisch zufälligen Schlüssel, der als Code-Verifier bezeichnet wird, für jede Autorisierungsanfrage.
Der Client führt einen SHA-256-Hashalgorithmus auf dem Code-Verifier aus, um eine Code-Challenge zu generieren.
Wenn der Client:
Ein öffentlicher Client ist, übergibt er anstelle des Client-Geheimnisses die Client-ID und die Code-Challenge in der Autorisierungsanfrage.
Ein vertraulicher Client ist, fügt er die Code-Challenge zusammen mit der Client-ID und dem Geheimnis in die Anfrage ein.
Der Client sendet eine Autorisierungsanfrage an den Roblox Autorisierungsserver.
Der Autorisierungsserver überprüft die Identität des Ressourcenbesitzers.
Der Autorisierungsserver erhält Berechtigungen für den Zugriff auf spezifische Roblox-Ressourcen vom Ressourcenbesitzer.
Der Autorisierungsserver leitet den Ressourcenbesitzer mit einem Autorisierungscode an den Client zurück.
Der Client fügt den Autorisierungscode und den ursprünglichen Code-Verifier in der Token-Anfrage an den Token-Endpunkt ein.
Der Autorisierungsserver überprüft den Autorisierungscode und den zugehörigen Code-Verifier.
Der Client erhält eine Antwort vom Token-Endpunkt, die ein Zugangstoken, ein ID-Token und ein Refresh-Token enthält.
Der Client ruft die erlaubten Ressourcen nach Erhalt des Zugangstokens ab.
OpenID Connect Unterstützung
Roblox verwendet OpenID Connect (OIDC) als Identitätsschicht über dem OAuth 2.0 Protokoll zur Authentifizierung zum Schutz sensibler Kontoinformationen. OIDC ermöglicht es Anwendungen, die Identität von Benutzern zu überprüfen und deren grundlegende öffentliche Profilinformationen zu erhalten, wie z.B. Benutzer-ID, Benutzernamen, Anzeigenamen und Profil-Links.
Registrierung und Implementierung
Um eine Web- oder mobile App zu implementieren, die den Autorisierungscodefluss verwendet, müssen Sie:
Registrieren Sie Ihre App bei Roblox. Dies ermöglicht es Ihnen, eine Client-ID und ein Geheimnis zu erhalten, um Ihre App bei Roblox zu registrieren und Anfragen an Ihre Endpunkte zu stellen.
Implementieren Sie den Autorisierungscodefluss. Für eine vollständige Referenz der OAuth 2.0 Endpunkte, die Sie anrufen müssen, siehe die Authentifizierung Referenz.
Durchlaufen Sie den Überprüfungsprozess, um ein höheres Benutzerkontingent zu erhalten.