首页 > 解决方案 > 来自 Firebase 功能的未经身份验证的响应状态

问题描述

每当我尝试发布请求以运行 https://europe-west3-[my-project].cloudfunctions.net/[my-function-name] 时,我都会收到带有正文的 401 响应:

{
    "error": {
        "message": "Unauthenticated",
        "status": "UNAUTHENTICATED"
    }
}

该方法本身包括验证:

export const myFunctionName = regionFunctions.https.onCall(
    async (request, context) => {
        if (!userIsAuthenticated(context)) return {status: 401}

        if (!userIsAdmin(context)) return {status: 403}

        await syncCategories()

        return {status: 200}
    })

export const userIsAuthenticated = (context: CallableContext) => {
        return context.auth
    }

我尝试做的是在请求授权标头中使用来自firebase项目设置的服务器密钥。

我使用了错误的服务器密钥还是可能是什么问题?

非常感谢。

标签: node.jsfirebasefirebase-authenticationgoogle-cloud-functions

解决方案


谢谢道格,

您的回答帮助我解决了这个问题。

我所做的:登录到我的应用程序,通过浏览器控制台查看用户 ID 令牌,将其复制到授权标头并且它工作。


推荐阅读