将 Firebase 令牌从 Android 发送到 Google Cloud Endpoints
Send Firebase Token from Android to Google Cloud Endpoints
我正在将 Firebase 身份验证集成到我的 Android 应用程序中。成功登录后,Android 应用程序将在 Google App Engine 上调用一些 Google 云端点 运行。
所以我需要将从身份验证收到的 Firebase 令牌传递给 Google 云端点。我正在使用以下代码调用端点 (source)
MyApi.Builder builder = new MyApi.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), null)
myApiService = builder.build();
myApiService.sayHi(name).execute();
那么如何将令牌转发到我的后端?
您可以使用 HttpRequestInitializer
注入令牌:
HttpRequestInitializer requestInitializer = new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest request) throws IOException {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAuthorization("Bearer " + getFirebaseToken());
request.setHeaders(httpHeaders);
}
};
MyApi.Builder builder = new MyApi.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), requestInitializer)
myApiService = builder.build();
我正在将 Firebase 身份验证集成到我的 Android 应用程序中。成功登录后,Android 应用程序将在 Google App Engine 上调用一些 Google 云端点 运行。
所以我需要将从身份验证收到的 Firebase 令牌传递给 Google 云端点。我正在使用以下代码调用端点 (source)
MyApi.Builder builder = new MyApi.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), null)
myApiService = builder.build();
myApiService.sayHi(name).execute();
那么如何将令牌转发到我的后端?
您可以使用 HttpRequestInitializer
注入令牌:
HttpRequestInitializer requestInitializer = new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest request) throws IOException {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setAuthorization("Bearer " + getFirebaseToken());
request.setHeaders(httpHeaders);
}
};
MyApi.Builder builder = new MyApi.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), requestInitializer)
myApiService = builder.build();