Kundenübergreifende Identität

Wenn Entwickler Software erstellen, umfasst diese regelmäßig Module, die auf einem Webserver ausgeführt werden, andere Module, die im Browser ausgeführt werden, und andere Module, die als native mobile Apps ausgeführt werden. Sowohl Entwickler als auch die Personen, die ihre Software verwenden, betrachten alle diese Module in der Regel als Teil einer einzigen App.

Die OAuth 2.0-Implementierung von Google unterstützt diese Sicht der Welt. Wenn du einen der OAuth2.0-basierten Dienste verwenden möchtest, musst du deine Software in der Google API Consoleeinrichten. Die Organisationseinheit in API Console ist ein „Projekt“, das einer Anwendung mit mehreren Komponenten entsprechen kann. Sie können für jedes Projekt Branding-Informationen angeben und angeben, auf welche APIs die App zugreifen soll. Jede Komponente einer Anwendung mit mehreren Komponenten wird durch eine Client-ID identifiziert, einen eindeutigen String, der im API Consolegeneriert wird.

Kundenübergreifende Autorisierungsziele

Wenn eine Anwendung OAuth 2.0 zur Autorisierung verwendet, fordert sie im Namen eines Nutzers ein OAuth 2.0-Zugriffstoken für den Zugriff auf eine Ressource an, das von der Anwendung anhand eines oder mehrerer Bereichsstrings identifiziert wird. Normalerweise wird der Nutzer aufgefordert, den Zugriff zu genehmigen.

Wenn ein Nutzer für einen bestimmten Bereich Zugriff auf deine App gewährt, sieht er sich den Zustimmungsbildschirm des Nutzers an. Dieser enthält das Produkt-Branding auf Projektebene, das du in der Google API Consoleeingerichtet hast. Daher berücksichtigt Google, dass wenn ein Nutzer einer Client-ID in einem Projekt Zugriff auf einen bestimmten Bereich gewährt hat, die Gewährung das Vertrauen des Nutzers in die gesamte Anwendung für diesen Bereich.

Dies hat zur Folge, dass der Nutzer nicht mehr als einmal aufgefordert werden sollte, den Zugriff auf eine Ressource für dieselbe logische Anwendung zu genehmigen, wenn die Komponenten der Anwendung zuverlässig durch die Autorisierungsinfrastruktur von Google authentifiziert werden können. Zu dieser Infrastruktur gehören derzeit Webanwendungen, Android-Apps, Chrome-Apps, iOS-Apps, native Desktop-Apps und Geräte mit begrenzter Eingabe.

Clientübergreifende Zugriffstokens

Software kann OAuth 2.0-Zugriffstokens auf verschiedene Arten abrufen. Das hängt von der Plattform ab, auf der der Code ausgeführt wird. Weitere Informationen findest du unter OAuth 2.0 für den Zugriff auf Google APIs verwenden. Normalerweise ist für die Gewährung eines Zugriffstokens die Genehmigung des Nutzers erforderlich.

Glücklicherweise kann die Google-Autorisierungsinfrastruktur Informationen über Nutzergenehmigungen für eine Client-ID in einem bestimmten Projekt verwenden, um zu prüfen, ob andere Personen im selben Projekt autorisiert werden sollen.

Wenn eine Android-App ein Zugriffstoken für einen bestimmten Bereich anfordert und der anfragende Nutzer einer Webanwendung im selben Projekt bereits die Genehmigung für denselben Bereich erteilt hat, wird der Nutzer nicht noch einmal um Genehmigung gebeten. Das funktioniert auf beide Arten: Wenn der Zugriff auf einen Bereich in Ihrer Android-App gewährt wurde, wird dieser nicht noch einmal von einem anderen Client im selben Projekt angefordert, z. B. von einer Webanwendung.