2015-09-07 103 views
0

我創建了一個使用JavaScript連接到Firebase數據庫的客戶端應用,用戶可以登錄並保存/編輯一些存儲的Firebase數據。 '電子郵件和密碼'身份驗證用於https://www.firebase.com/docs/web/guide/login/password.html通過使用Powershell激活「用戶身份驗證」訪問Firebase

我後來想編寫一個Powershell腳本,它將使用'Task Scheduler'設置爲每天運行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的一些替代方法嗎?提前

感謝

Quintus的

+0

PowerShell是.NET不是嗎?因此,您可以編譯Firebase .NET幫助程序並使用它來生成JWT。 https://github.com/firebase/firebase-token-generator-dotNet –

+0

謝謝弗蘭克。然而,我不熟悉Visual Studio或如何在Powershell腳本中運行.NET,所以我仍然陷入困境。 – Fish

回答

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 - 祕密 「123」

提到的DLL是編譯的代碼從https://github.com/firebase/firebase-token-generator-dotNet。只需在Visual Studio中打開項目並編譯它。它將在項目的DEBUG文件夾中播放DLL。

相關問題