Ich habe eine App, die derzeit die com.google.appendinge.api.appidentity.AppIdentityService
verwendet, um die Authentifizierung zu erleichtern & Berechtigung für die Verwendung derselben App [dh. dasselbe Konto] Tabellendaten über die SpreadsheetService
API. Funktioniert hervorragend im Produktionsmodus für die GAE-Umgebung. Aber aus offensichtlichen Gründen funktioniert es nicht (Authentifizierungsfehler, keine Überraschung) in meiner Entwicklungsumgebung.Konfigurieren der Verwendung von AppIdentityService auf dem Entwicklungsserver
Meine Frage ist: ist es möglich, & ‚unterstützt‘ eine der lokalen Entwicklungsserver zu konfigurieren, dass die notwendigen Schlüssel & Zertifikat Info zu verwenden, um die AppIdentityService zu ermöglichen, wie beabsichtigt zu arbeiten?
Ich lese den Artikel https://sites.google.com/site/oauthgoog/authenticate-google-app-engine-app und ich verstehe es zu zeigen, dass es möglich ist, aber ich sein mis Verständnis wichtigste Punkte & pro Feedback & con bezüglich diesem schätzen würde.
In einer perfekten Welt möchte ich, dass meine Testumgebung den Produktionsmodus so genau wie möglich nachahmt. Ich erwäge auch, die 'normale' oauth2-Web-App-Authentifizierung in meinem Test-Env zu verwenden, würde aber lieber mit AppIdentityService arbeiten, wenn irgend möglich.
Ich vermute, die com.google.appengine.api.appidentity.dev.LocalAppIdentityService
Klasse in der appengine-api-stubs.jar
ist die beabsichtigte Technik, aber hat jemand anderes auch dies verwendet, um AppIdentityService
Authentifizierung in einem Entwicklungsserver zu bieten? Meine ursprüngliche Annahme ist, dass die in com.google.appengine.spi.FactoryProvider gefundene Klasse com.google.appengine.api.appidentity.IAppIdentityServiceFactoryProvider
ersetzt wird, um meine eigene Factory-Klasse mit der obigen LocalAppIdentityService-Klasse zu verwenden. Oder belle ich den falschen Baum an?
Verwenden GAE SDK 1.8.8 für Java.
Ich glaube nicht, es sehr viel Sinn macht AppIdentity zu verwenden: das Vertrauen Anker für AppIdentity ist App Engine in Prod. In der Entwicklungsumgebung benötigen Sie ohnehin einen neuen Vertrauensanker (d. H. Ein Dienstkonto). Sie könnten einen neuen AppIdentityService programmieren, aber warum? Sie benötigen in Dev einen neuen Benutzer und daher einen anderen Code. Ich benutze Fabriken, die DriveService und SpreadsheetService, mit AppIdentity (in Prod) oder Dienstkonto (in Dev) zu erzeugen. AppIdentity und das Dienstkonto erhalten unterschiedliche Berechtigungen in Drive, können das Dienstkonto nur Testdaten zugreifen. –