无法通过 HTTP/REST 访问 FireBase 数据库错误 403 Forbidden

2024-02-23

Swift + Vapor 服务器框架 + Xcode 8.1

我正在尝试读取 Firebase 实时数据库,向我的数据库发出 HTTP 请求,但权限被拒绝。

这些是步骤:
1. 创建 JWT,使用从“console.developers.google.com”下载的密钥对其进行签名
2.向OAuth2服务器发送POST请求并获取访问令牌
3. 使用从 OAuth2 服务器收到的访问令牌向 firebase 数据库发送 GET 请求。

我收到“权限被拒绝”,HTTP/1.1 403 Forbidden

// the header of the JSON Web Token (first part of the JWT)
let headerJWT = ["alg":"RS256","typ":"JWT"]

// the claim set of the JSON Web Token
let jwtClaimSet =
  ["iss":"[email protected] /cdn-cgi/l/email-protection",
 "scope":"https://www.googleapis.com/auth/firebase.database", //is this the correct API to access firebase database?
 "aud":"https://www.googleapis.com/oauth2/v4/token",
 "exp": expDate,
 "iat": iatDate]


drop.get("access") { request in
var accesstoken = "ya29.ElqhA-....XXXX"

 let responseFirebase = try drop.client.get("https://fir- 30c9e.firebaseio.com/data/Users.json",
  headers: ["Authorization":"Bearer \(accesstoken)"], 
     query: [:])

print("FirebaseResponse_is \(responseFirebase)")
return "success"
}

TLDR;尝试放置auth=<TOKEN>在您的查询字符串中而不是使用授权标头。


Firebase 文档并不清楚它是如何工作的。根据文档,三种方法应该有效。

  1. auth=<TOKEN>在查询字符串中(link https://firebase.google.com/docs/reference/rest/database/#section-param-auth)
  2. access_token=<TOKEN>在查询字符串中(link https://firebase.google.com/docs/reference/rest/database/user-auth#section-using-the-access-token)
  3. Authorization: Bearer <TOKEN>在请求标头中(link https://firebase.google.com/docs/reference/rest/database/user-auth#section-using-the-access-token)

然而,我不相信这三种方法都确实有效。我在我的应用程序中使用方法 1,所以我知道其中一种方法肯定有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法通过 HTTP/REST 访问 FireBase 数据库错误 403 Forbidden 的相关文章

  • 如何在 firebase.auth 中更新用户电话号码(js,ts)

    我如何更新在 firebase auth 中用于身份验证的用户电话号码 Firebase 给出方法 updatePhoneNumber phoneCredential 但我们需要给予电话凭证 此凭证采用对象 interface AuthCr
  • 检查用户是否从后端 Firebase 身份验证登录

    在我的前端 用户使用 Firebase 身份验证浏览器登录 那部分工作得很好 除了 Firebase 后端之外 我还有提供其他内容的 NodeJS 后端 但是 我需要仅向经过身份验证的用户提供内容 我的问题是 有没有办法让我的 NodeJS
  • 无法将中间件与 Firebase 和 NuxtJS 3 一起使用

    我正在尝试在示例项目中使用 Firebase 身份验证 身份验证按预期工作 但是一旦我想使用中间件来阻止用户访问管理页面或在已经登录的情况下访问登录页面 这是不可能的 我已经尝试了几个小时 但没有任何效果 这是我的package json
  • FirebaseAnimatedList 实时更改内容

    我想知道如何使用新查询 更改路径的新内容来重建 FirebaseAnimatedList new Flexible child new FirebaseAnimatedList query query sort DataSnapshot a
  • 如何从vuejs和firestore获取文档的id?

    我有这个代码可以从 firestore 获取所有文档 const getThemesList async commit gt const snapshot await firebase firestore collection themes
  • 如何在 Nrwl Nx 中集成 firebase

    我真的很想将 firebase 以及 firebase cli 集成到 Nx 中的应用程序中 但不知道如何实现 我使用 firebase 函数 托管 cli tools 等 理想情况下 我希望能够使用 firebase cli 部署用于托管
  • 从 firebase swift 读取数据

    我正在尝试从 firebase 数据库检索数据 但是当我运行代码时 它没有显示任何内容 但没有显示错误 我从Firebase手册中得到了这段代码 顺便说一句 我很确定路径是正确的 let ref FIRDatabase database r
  • 当前环境不支持指定的持久类型firebase

    我收到这个错误 当前环境不支持指定的持久性类型 我正在测试我的应用程序 发现当用户登录时 它在任何地方都已登录 所以我尝试使用 firebase 在 Node js Express 上实现会话 希望这能解决这个问题 我的代码是这样的 rou
  • Firebase HTTP Cloud Functions - 读取数据库一次

    我有 Firebase HTTPs 功能 该函数需要根据查询参数从 Firebase 数据库读取值 并根据该数据返回结果 Firebase JS SDK 表示要使用以下命令来执行此操作 return firebase database re
  • 带 firebase 的 Nodemcu(ESP8266)

    这是我上传到 ESP8266 以连接到 firebase 的代码 include
  • Firebase部署错误提示

    当我运行命令部署时 出现以下错误 npm ERR path C Users hp nodes RESOURCE DIR package json npm ERR code ENOENT npm ERR errno 4058 npm ERR
  • 适用于 iOS 的 Firebase 云消息通知未显示打开和分析

    我正在使用 FCM 向 iOS 应用程序发送通知 设备上可以很好地接收通知 但我无法在通知控制台 GUI 中获取 打开 或 转化 率 对于发送的近 200 0000 条通知 它始终显示 0 个打开 和 0 个转化 我仔细检查了所有的实现 但
  • 无法立即更新状态?

    我有两个功能 第一个功能是我收到所有订单 第二个功能是我收到所有被拒绝的订单 所以在第一个函数中 我根据第二个函数状态更新状态 效果很好 但是当我从 Firebase 控制台删除项目时 尽管我使用on value gt 那么我该如何处理呢
  • 使用 JWT 创建 Firebase 自定义身份验证令牌

    为了创建 firebase 自定义身份验证令牌 我使用第三方 JWT 库 https github com jwtk jjwt https github com jwtk jjwt 在此库中 有一个选项可以添加 firebase 自定义令牌
  • 在 firebase 函数中设置 dotenv

    我正在尝试将我制作的小型节点表达应用程序移动到 firebase 函数中 该文件有dotenv变量 早些时候我想如果我只是部署并依赖 dotenv 它会起作用 但那并没有发生 于是 我去了firebase的环境配置文章了解如何设置 env
  • Stripe 创建使用记录错误 - 时间戳必须早于订阅的当前周期结束时间 - Date.now()?

    我正在尝试为按计量计划的客户创建条带使用记录 当我在请求中使用时间戳 Date now 时 我收到的错误是 无法使用此时间戳创建使用记录 因为时间戳必须早于订阅的当前周期结束时间 这似乎是不言自明的 但考虑到订阅的当前周期结束时间还剩 14
  • 数据同步的离线/在线模式 - firestore

    我开发了一个基于Firestore的Android APP 用于数据库存储数据 用户希望手动 通过APP上的按钮 控制离线 不与firestore服务器同步 之间的切换 和在线 与 firestore 服务器启用同步 模式 是否有特定的 F
  • Firebase 存储 URL 不断随着新令牌的变化而变化

    我正在尝试使用 firebase 数据库和存储构建社交媒体应用程序 以下是预期的流程 用户上传个人资料图片 该图片存储在当前用户文件夹中的 Firebase 存储中 并且 URL 存储在 Firebase 数据库中以便快速访问 工作正常 用
  • 当我编写 FirebaseApp.configure() 时,iOS 应用程序崩溃

    我有一个 ios 应用程序 可以正常登录和 Facebook 登录 今天我集成了 firebase 当我在应用程序委托中编写 FirebaseApp configure 时 我的应用程序崩溃了 并且此函数突出显示错误代码 在展开可选值时意外
  • Firebase获取孩子ID swift ios

    我的 Firebase 看起来像这样 贝娄Active Orders看来childs根据他们的不同有不同的名字UID 用户身份 这是我的代码 用于获取孩子的 ID 无论孩子的名字是什么 但它似乎根本不起作用 获得的正确方法是什么child

随机推荐

  • Java中的char和Character有什么区别?

    我需要知道Java中的char和Character有什么区别 因为当我编写java程序时 char可以工作 而Character却不起作用 char 是表示单个 16 位 Unicode 字符的原始类型 而 Character 是一个包装类
  • 如何正确使用UrlEncode和Decode

    所以我有一个文件要上传到 azure blob 存储 C 测试文件夹 A B testfile txt 以及两个扩展方法 可帮助对我的路径进行编码 以确保为其提供有效的 azure 存储 blob 名称 public static stri
  • 旋转 glViewport?

    在 多点触控 环境中 表面上显示的任何应用程序都可以根据用户的方向旋转 缩放 实际的解决方案是在 FBO 上绘制应用程序 并绘制一个带有纹理的旋转 缩放的矩形 我认为这对性能没有好处 而且所有显卡都不提供FBO 这个想法是沿着用户的方向裁剪
  • 如何获取MASM中当前光标位置

    我正在编写一个智商测试生成程序 其中我必须随机生成包括言语非言语问题的问题 为了生成非语言问题 我想显示其中字母和字母以圆形或三角形出现的问题 但我不知道如何定位它们 例如 在非语言问题中 我想通过编写以下代码将字母和数字放置在三角形中 m
  • 虚拟继承中应该写“public virtual”还是“virtual public”?

    基于http en wikipedia org wiki Virtual inheritance http en wikipedia org wiki Virtual inheritance class Animal Two classes
  • 使用 Django Rest 框架中定义的 mixins 类

    Mixins类的实际用途是什么 我实在不明白 所有 mixins 类 如 CreateModelmixin Listmixin 等功能 都已在基于类的视图 如 ListCreateApiView 中可用 For eg class Examp
  • 从 Firestore 文档中嵌套的集合获取数据的最佳方法是什么?

    我正在浏览 Firestore 文档和指南 我下面的代码示例使用 AngularFire2 让我们考虑一个类似于此处提供的示例的 聊天 集合 https firebase google com docs firestore manage d
  • Python只保留列表中的字母数字单词

    我有一个类似于以下的单词列表 mylist hi h ello how re you list 我想提取所有非字母数字字符以给出如下结果 h ello how re list 请注意 我在现实生活中有一个更长的列表 它包含一些非字母数字实例
  • 如何使用 MS HPC Server 2008 R2 的 MPI 堆栈成功编译 mpi4py?

    故事是这样的 我需要一个 Python 的 MPI 包装器 我知道有mpi4py http code google com p mpi4py 对于当前的工作 我 大部分 使用 Python 和 Windows 我想使用 Microsoft
  • 使用bolthold 3条件进行boltDB查询

    所以我有这个问题 https stackoverflow com questions 72058075 go boltdb query using bolthold之前 我在问题下面有一个有效的答案 但我刚刚意识到我提出的查询没有按计划工作
  • 有没有办法调试 v8 堆之外发生的内存泄漏

    我有一个在 NodeJS 上运行的生产应用程序 它提供了大量的流量 虽然部署后一切顺利 但性能在几个小时后开始下降 我们在 newrelic 上注意到 NodeJS 的非堆内存持续稳定增长 而 V8 堆内存则保持稳定 我们尝试使用 Chro
  • Xampp 上的 Symfony 开发速度非常慢,我该怎么办?

    我已经设置了 Symfony 但每个页面加载需要 40 秒 如果我有一个空控制器 则加载需要 8 秒 如果我开始对数据库进行一些复杂的查询 情况会更糟 我能做些什么 停用分析器 这会改变很多吗 在开发模式下激活 APC 但是这不会成为更改代
  • Rails open-uri 在路径上中断

    我正在尝试使用 open uri 获取 url 我的代码非常简单 url open http localhost 3000 descriptions return render text gt url to json 当我运行此代码时 出现
  • 我可以在 PowerShell 脚本中禁用选择模式吗?

    PowerShell 默认情况下 当您在 PowerShell 控制台内单击时 PowerShell 会进入 选择模式 并暂停脚本 直到您按空格键 输入键或转义键 我有一个无限循环的脚本while true 它应该始终运行 当有人意外单击
  • 使用 WinHttp.WinHttpRequest 查找检索到的二进制数据的大小

    我最近意识到 URLDownloadToFile 使用 IE 代理设置 所以我正在寻找替代方案 发现 WinHttp WinHttpRequest 可能有效 ResponseBody 属性似乎包含获取的数据 我需要将其写入文件 问题是我找不
  • 如何在 dos 批处理文件中设置当前工作目录/驱动器?

    cd d projects不起作用 如何设置当前工作驱动器和目录 以便可以从那里运行 msbuild 脚本 这也很方便 pushd D projects 然后您可以返回到之前所在的目录 popd
  • 从转换器返回动态资源

    我想根据布尔值的状态 在本例中为复选框的状态 更改 WPF 控件的颜色 只要我使用静态资源 这就可以正常工作 我的控制
  • .htaccess 重写正则表达式:匹配除“index”之外的任何内容

    我正在尝试创建一个在 htaccess 文件中使用的规则来匹配除了特定的字符串 在本例中 index 我认为应该可以先匹配这个特殊字符串并使用 L 但这不起作用 并且应该可以使用以下正则表达式 但它会导致 500 错误 我想匹配 页面名称1
  • 有没有一个命令行程序可以查找Scaladoc?

    Ruby 有一个名为 ri 的程序 您可以在其中输入 ri Array 并获取其联机帮助页 scaladoc 有类似的东西吗 现在 Scaladoc Web 应用程序 正在通过浏览器内快速搜索的索引得到增强 这种事情应该变得容易得多 特别是
  • 无法通过 HTTP/REST 访问 FireBase 数据库错误 403 Forbidden

    Swift Vapor 服务器框架 Xcode 8 1 我正在尝试读取 Firebase 实时数据库 向我的数据库发出 HTTP 请求 但权限被拒绝 这些是步骤 1 创建 JWT 使用从 console developers google