0

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

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

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

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

有人可以给我一些关于如何让 JWT 与 Firebase/Powershell 一起工作的指示或示例代码,或者我可以使用 Powershell 完全访问 BD 的一些替代方法吗?

提前致谢

昆图斯

4

1 回答 1

0

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

#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

令牌生成器-秘密“123”

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

于 2018-02-16T17:33:01.180 回答