我使用连接到Firebase数据库的JavaScript创建了一个客户端应用,用户可以在其中登录并保存/编辑存储Firebase的一些数据。 “电子邮件和密码”身份验证用作https://www.firebase.com/docs/web/guide/login/password.html
我随后想编写一个Powershell脚本,该脚本将使用'Task Scheduler'设置为每天运行1x,读取每个用户数据并执行一些业务逻辑。
我错误地希望能够将我的服务器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的完全访问权的其他方法吗?
提前致谢
昆图斯
答案 0 :(得分: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
TokenGeneretor -secret" 123"
提到的DLL是从https://github.com/firebase/firebase-token-generator-dotNet编译的代码。只需在Visual Studio中打开项目并进行编译即可。它将在项目的DEBUG文件夹中播放DLL。