angular / angular/angularfire

Callable functions with custom region not working, Unauthenticated error

未关闭
#3,409 2 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。