【发布时间】:2018-09-09 17:54:36
【问题描述】:
我将 Firebase 身份验证与 Cloud Endpoints 框架结合使用。 在这种情况下,我有两个问题属于同一类:
在我的 Android 应用程序中,我通过以下方式成功登录后请求访问令牌:
FirebaseUser user = mFirebaseAuthenticator.getCurrentUser();
user.getIdToken(true).addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
public void onComplete(@NonNull Task<GetTokenResult> task) {
if (task.isSuccessful()) {
mIDToken = task.getResult().getToken();
Log.d("attempLogin", "GetTokenResult result = " + mIDToken);
} else {
Log.d("attempLogin", "Cannot get token = " + task.getException());
}
}
});
然后我将收到的访问令牌传递给自动生成的 端点框架客户端 API 方法 allOrdersRequest(...)
OrderCollection orders = allOrdersRequest.setOauthToken(mIDToken).execute();
执行有效且经过授权的后端 API 调用。
第一个问题: 收到的访问令牌大约有 800 个字符,在我看来 相对过多。每个后端 API 方法请求都必须发送几乎 1kb。我的假设是否正确,或者应该(甚至可以)更改 Firebase 控制台中的访问令牌大小?
第二个问题: 将接收到的令牌传递给端点框架客户端API的setOauthToken()方法以执行授权的API请求是正确的方法,还是我必须每次操作allOrdersRequest的httpheader ()?
【问题讨论】:
-
@all 没人知道吗?我敢肯定,我不是 firebase 身份验证和云端点框架客户端的唯一用户......非常感谢任何帮助。
标签: java android firebase-authentication google-cloud-endpoints