Vorbereitung
Folgende Voraussetzungen sollten erfüllt sein:
Authentifizierung konfigurieren
So authentifizieren Sie sich mit einem Dienstkonto:
Importieren Sie die App Engine Endpoints-API in Ihre API-Klasse:
import endpoints
Fügen Sie dem API-Decorator ein Ausstellerobjekt für das Dienstkonto hinzu. Beispiel:
@endpoints.api( name='echo', version='v1', issuers={'serviceAccount': endpoints.Issuer( 'YOUR_SERVICE_ACCOUNT_EMAIL', 'https://www.googleapis.com/robot/v1/metadata/x509/YOUR_SERVICE_ACCOUNT_EMAIL')}, audiences={'serviceAccount': ['YOUR_AUDIENCE']})
- Ersetzen Sie
echo
durch den Namen der API. - Ersetzen Sie
v1
durch die API-Version. - Ersetzen Sie
YOUR_SERVICE_ACCOUNT_EMAIL
durch die E-Mail-Adresse Ihres Dienstkontos. - Ersetzen Sie
YOUR_AUDIENCE
durch den vom aufrufenden Dienst gesendeten Wert im Feldaud
.
- Ersetzen Sie
Prüfen Sie in jeder API-Methode, mit der Sie eine ordnungsgemäße Authentifizierung gewährleisten möchten, ob ein gültiger
User
vorhanden ist. Wenn dies nicht der Fall ist, geben Sie wie in der folgenden Methodendefinition beispielhaft gezeigt den Fehler401
aus:user = endpoints.get_current_user() # If there's no user defined, the request was unauthenticated, so we # raise 401 Unauthorized.
Stellen Sie die API bereit. Die API muss bei jedem neu hinzugefügten Client neu bereitgestellt werden.