【发布时间】:2017-12-19 14:54:27
【问题描述】:
我已经关注link,并按照上面提到的在服务器上完成了配置。
"/users":
post:
description: "<Description>"
operationId: "<OperationID>"
produces:
- "application/json"
responses:
200:
description: "user List"
schema:
$ref: "#/definitions/echoMessage"
parameters:
- description: "Search Criteria"
in: body
name: message
required: true
schema:
$ref: "#/definitions/echoMessage"
security:
- firebase: []
和
firebase:
authorizationUrl: ""
flow: "implicit"
type: "oauth2"
x-google-issuer: "https://securetoken.google.com/<Project-ID>"
x-google-jwks_uri: "https://www.googleapis.com/service_accounts/v1/metadata/x509/securetoken@system.gserviceaccount.com"
通过 JWT 标准后,我知道在调用服务时,我们必须使用 Bearer 添加 Authorization 标头,因此我添加了如下标头,
授权:承载
我最初尝试过
String token = FirebaseInstanceId.getInstance().getToken();
但它给出了错误,所以我尝试了,
FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
if (firebaseUser != null) {
firebaseUser.getIdToken(true)
.addOnSuccessListener(new OnSuccessListener<GetTokenResult>() {
@Override
public void onSuccess(GetTokenResult getTokenResult) {
String token = getTokenResult.getToken();
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putString(Constants.PREFS_FCM_TOKEN, token);
editor.apply();
}
});
}
但即使使用这两个代码,我也会收到 401 和 invalid_token 错误
【问题讨论】:
标签: android firebase firebase-authentication google-cloud-endpoints