Callable functions with custom region not working, Unauthenticated error
- 主要语言
- TypeScript
- 星标
- 7.8k
- 派生
- 2.2k
- 平均合并
- 22 小时 28 分钟
- 30 天内合并 PR
- 6
描述
### Version info
**Angular:**
15.2.2
**Firebase:**
9.23.0
**AngularFire:**
7.6.1
### How to reproduce these conditions
**Steps to set up and reproduce**
1. Create angular 15 project
2. Add angularfire
3. Create callable functions with custom region
### Debug output
** Errors in the JavaScript console **
```
main.fc6d01fc3332ae31.js:1 ERROR Error: Uncaught (in promise): Error: FirebaseError: Unauthenticated
Error: FirebaseError: Unauthenticated
```
** Output from `firebase.database().enableLogging(true);` **
How/where do I enable this?
Callable function:
```
import { region } from 'firebase-functions';
export const getInvoicesPerQuarter= region('europe-west1')
.https.onCall(async (data: { id: string; invoiceNumber: string }, context) => {
...
})
```
app.module.ts:
```
provideFunctions(() => {
const functions = getFunctions(getApp(), 'europe-west1');
// const functions = getFunctions();
if (environment.useEmulators) {
connectFunctionsEmulator(functions, 'localhost', 5001);
}
return functions;
}),
```
firebase.json:
```
{
"hosting": [
{
"rewrites": [
{
"source": "/getInvoicesPerQuarter",
"function": "getInvoicesPerQuarter"
}
]
},
```
angular component:
```
import { Functions, httpsCallableData } from '@angular/fire/functions';
const getInvoicesPerQuarterCallable: (data: {
year: number;
quarter: number;
}) => Observable = httpsCallableData<
{ year: number; quarter: number },
string
>(this.functions, 'getInvoicesPerQuarter');
const result = await firstValueFrom(
getInvoicesPerQuarterCallable({ year, quarter }),
);
```
Calling this callable function works in the emulator.
I deploy this to firebase.
I doesn't work on production and I get the Unauthenticated error.
I already contacted firebase support but everything looks fine and they say it's an AngularFire issue and can't help me.
Functions are V1.
贡献指南
调研方向
检查 callable function 定义、app.module.ts、firebase.json 以及使用 httpsCallableData 的 Angular 组件,并将配置的 europe-west1 区域与已部署的生产环境进行比较。重现生产环境调用并追踪其返回 Unauthenticated 的原因;完成的标准是已部署的 V1 callable 能够从 Angular 应用中正常工作且不再出现该错误。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- angular, firebase, typescript
- 领域
- api, backend
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100