【问题标题】:Accessing Firebase with 'user authentication' active using Powershell使用 Powershell 访问具有“用户身份验证”功能的 Firebase
【发布时间】:2015-12-02 23:57:05
【问题描述】:

我使用连接到 Firebase 数据库的 JavaScript 创建了一个客户端应用程序,用户可以在其中登录并保存/编辑存储在 Firebase 上的一些数据。 '电子邮件和密码' 身份验证用作https://www.firebase.com/docs/web/guide/login/password.html

我随后想编写一个 Powershell 脚本,该脚本将使用“任务计划程序”设置为每天运行 1 次,读取每个用户的数据并执行一些业务逻辑。

我错误地期望能够将我的服务器 IP 列入白名单以获得对数据库的完全访问权限。

如果我理解正确,我需要使用“JSON Web 令牌 (JWT)”来使用“自定义身份验证”,但 Powershell 没有可用的帮助程序库。看过这部分 https://www.firebase.com/docs/web/guide/login/custom.html#section-tokens-without-helpers 但我不清楚要获得令牌需要做什么。

谁能给我一些关于如何让 JWT 与 Firebase/Powershell 一起工作的指示或示例代码,或者我可以使用 Powershell 获得对 BD 的完全访问权限的一些替代方法?

提前致谢

昆图斯

【问题讨论】:

  • PowerShell 是 .NET 不是吗?因此,您只需编译 Firebase .NET 帮助程序并使用它来生成 JWT。 github.com/firebase/firebase-token-generator-dotNet
  • 谢谢弗兰克。但是,我不熟悉 Visual Studio 或如何在 Powershell 脚本中运行 .NET,所以我还是有点卡住了。

标签: powershell firebase firebase-authentication


【解决方案1】:

我做了一些可能对你有帮助的事情......

#region TokenGenerator

function TokenGeneretor($secret){

$asm = [Reflection.Assembly]::LoadFile("D:\Firebase\FirebaseTokenGenerator.dll")
$tokenGenerator =  [Firebase.TokenGenerator]::new("$secret")
$authPayload = New-Object "System.Collections.Generic.Dictionary``2[System.String,System.Object]"
$authPayload.Add('uid', '1')
$authPayload.Add('some', 'arbitrary')
$authPayload.Add('data', 'here')
$Option = [Firebase.TokenOptions]::new(((Get-Date).AddHours(1)),$null,$true)
$token = $tokenGenerator.CreateToken($authPayload, $Option)

return $token

}



#endregion

TokenGeneretor -secret "123"

提到的DLL是从https://github.com/firebase/firebase-token-generator-dotNet编译的代码。只需在 Visual Studio 中打开项目并对其进行编译。它将播放项目的 DEBUG 文件夹中的 DLL。

【讨论】:

    猜你喜欢
    • 2018-07-22
    • 2021-08-19
    • 1970-01-01
    • 2019-08-02
    • 2016-10-22
    • 1970-01-01
    • 2018-07-19
    • 2021-07-31
    相关资源
    最近更新 更多