Kundenübergreifende Identität

Wenn Entwickler Software erstellen, enthält diese in der Regel Module, die auf einem Webserver ausgeführt werden, andere Module, die im Browser ausgeführt werden, und weitere Module, die als mobile Android- oder iOS-Apps ausgeführt werden. Sowohl Entwickler als auch die Nutzer ihrer Software betrachten alle diese Module in der Regel als Teil einer einzelnen App.

Die OAuth 2.0-Implementierung von Google unterstützt diese Sichtweise. Wenn Sie einen der auf OAuth 2.0 basierenden Dienste verwenden möchten, müssen Sie Ihre Software in der Google API Consoleeinrichten. Die Organisationseinheit in der API Console ist ein „Projekt“, das einer App mit mehreren Komponenten entsprechen kann. Für jedes Projekt können Sie Branding-Informationen angeben und müssen festlegen, auf welche APIs die App zugreifen darf. Jede Komponente einer App mit mehreren Komponenten wird durch eine Client-ID identifiziert, einen eindeutigen String, der in der API Consolegeneriert wird.

Zielvorhaben für die clientübergreifende Autorisierung

Wenn eine App OAuth 2.0 für die Autorisierung verwendet, fordert sie im Namen eines Nutzers ein OAuth 2.0-Zugriffstoken für den Zugriff auf eine Ressource an, die durch einen oder mehrere Bereichsstrings identifiziert wird. Normalerweise wird der Nutzer aufgefordert, den Zugriff zu genehmigen.

Wenn ein Nutzer Ihrer App Zugriff auf einen bestimmten Bereich gewährt, sieht er den Zustimmungsbildschirm, der das Produkt-Branding auf Projektebene enthält, das Sie in der Google API Consoleeingerichtet haben. Wenn ein Nutzer einer Client-ID in einem Projekt Zugriff auf einen bestimmten Bereich gewährt hat, geht Google davon aus, dass der Nutzer der gesamten Anwendung für diesen Bereich vertraut.

Der Nutzer sollte nicht mehr als einmal für dieselbe logische Anwendung aufgefordert werden, den Zugriff auf eine Ressource zu genehmigen, wenn die Komponenten der Anwendung zuverlässig von der Autorisierungsinfrastruktur von Google authentifiziert werden können. Dazu gehören derzeit Web-Apps, Android-Apps, Chrome-Apps, iOS-Apps, Desktop-Apps und Geräte mit eingeschränkter Eingabe.

Kundenübergreifende Zugriffstokens

Software kann OAuth 2.0-Zugriffstokens auf verschiedene Arten abrufen, je nachdem, auf welcher Plattform der Code ausgeführt wird. Weitere Informationen finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen. Normalerweise ist die Genehmigung durch den Nutzer erforderlich, wenn ein Zugriffstoken gewährt wird.

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

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