Wenn Entwickler Software erstellen, umfasst dies Module, die auf einem Webserver ausgeführt werden, andere Module, die im Browser ausgeführt werden, und andere, die als native mobile Apps ausgeführt werden. Sowohl Entwickler als auch Nutzer, die ihre Software verwenden, betrachten alle diese Module normalerweise als eine einzige Anwendung.
Die Welt ist mit der OAuth 2.0-Implementierung von Google kompatibel. Wenn Sie einen der OAuth2.0-basierten Dienste verwenden möchten, müssen Sie Ihre Software im Google API Consoleeinrichten. Die Organisationseinheit im API Console ist ein Projekt, das einer Anwendung mit mehreren Komponenten entsprechen kann. Für jedes Projekt können Sie Markeninformationen angeben und angeben, auf welche APIs die Anwendung zugreift. Jede Komponente einer Anwendung mit mehreren Komponenten wird durch eine Client-ID identifiziert, einen eindeutigen String, der in der API Consolegeneriert wird.
Clientübergreifende Autorisierungsziele
Wenn eine Anwendung OAuth 2.0 für die Autorisierung verwendet, agiert die Anwendung im Namen eines Nutzers und fordert ein OAuth 2.0-Zugriffstoken für den Zugriff auf eine Ressource an, das die Anwendung durch einen oder mehrere Bereichsstrings identifiziert. Normalerweise wird der Nutzer aufgefordert, den Zugriff zu genehmigen.
Wenn ein Nutzer in einem bestimmten Bereich Zugriff auf deine App gewährt, sieht er sich den Zustimmungsbildschirm des Nutzers an, der das Produkt-Branding auf Projektebene enthält, das du im Google API Consolefestgelegt hast. Wenn ein Nutzer einer bestimmten Client-ID in einem Projekt Zugriff auf einen bestimmten Bereich gewährt hat, geht Google davon aus, dass das Vertrauen der Nutzer in die gesamte Anwendung für diesen Bereich gegeben ist.
Dies hat zur Folge, dass der Nutzer nicht mehr als einmal aufgefordert wird, den Zugriff auf eine Ressource für dieselbe logische Anwendung zu genehmigen, wenn die Komponenten der Anwendung zuverlässig von der Autorisierungsinfrastruktur von Google authentifiziert werden können. Zu dieser gehören aktuell Web-Apps, 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, 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 Zustimmung des Nutzers 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 beurteilen, ob andere im selben Projekt autorisiert werden.
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 denselben Bereich erteilt hat, wird der Nutzer nicht noch einmal zur Genehmigung aufgefordert. Das funktioniert in beiden Fällen: Wenn der Zugriff auf einen Bereich in Ihrer Android-App gewährt wurde, wird er nicht noch einmal von einem anderen Client im selben Projekt wie einer Webanwendung angefordert.