dsg*_*g38 5 android firebase flutter google-cloud-functions
我已将以下测试https.onCall函数部署到 firebase 上的 Cloud Functions 中 - 使用节点 10 部署:
export const helloWorld = functions.https.onCall((data, context) => {
return {
"message": "Hello, world",
}
});
Run Code Online (Sandbox Code Playgroud)
从节点环境中测试时,此函数按预期返回。
但是,在我的 flutter (android) 应用程序中 - 使用Flutter的Cloud 函数插件,尽管已登录(通过电话号码身份验证),但仍收到以下身份验证错误:
颤振代码:
void _checkAuth() async {
print("Check auth");
final FirebaseAuth _auth = FirebaseAuth.instance;
var user = await _auth.currentUser();
print(user.toString());
_testFunCall();
}
void _testFunCall() async {
HttpsCallable callable = CloudFunctions.instance
.getHttpsCallable(functionName: 'helloWorld');
try {
final HttpsCallableResult result = await callable.call();
print(result.data);
} on CloudFunctionsException catch (e) {
print('caught firebase functions exception');
print(e.code);
print(e.message);
print(e.details);
} catch (e) {
print('caught generic exception');
print(e);
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
I/flutter ( 4662): caught firebase functions exception
I/flutter ( 4662): UNAUTHENTICATED
I/flutter ( 4662): Unauthenticated
I/flutter ( 4662): null
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
问题在于部署到云功能时使用 Node 10。
Node 10 目前处于测试阶段。切换到节点 8 并且工作正常:
在package.json您的云功能目录中,切换:
"engines": {
"node": "10"
},
Run Code Online (Sandbox Code Playgroud)
到:
"engines": {
"node": "8"
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1570 次 |
| 最近记录: |