使用Powershell激活“用户身份验证”访问Firebase

时间:2015-09-07 12:12:11

标签: powershell firebase firebase-authentication

我使用连接到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的完全访问权的其他方法吗?

提前致谢

昆图斯

1 个答案:

答案 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。