1

我正在創建一個iPhone應用,管理員用戶可以創建新用戶,但Firebase文檔指出「如果新帳戶已創建,用戶將自動登錄「,所以我正在尋找一種方法來避免登錄到新創建的用戶。Firebase在創建新用戶時註銷當前用戶

有沒有什麼辦法可以避免這種情況,而無需使用新的Firebase Admin SDK(即僅Web AFAIK)?

+1

Firebase Admin SDK用於在node.js服務器上運行(並不意味着它僅用於web)。但是,如果你只想要一個客戶端的方法,它確實不會工作。你也許可以嘗試類似這樣的東西:http://stackoverflow.com/questions/37517208/firebase-kicks-out-current-user –

回答

0

我得到this Javascript smart workaround適用於iOS。完美工作:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"GoogleService-Info" ofType:@"plist"]; 
FIROptions *secondaryAppOptions = [[FIROptions alloc] initWithContentsOfFile:plistPath]; 
[FIRApp configureWithName:@"Secondary" options:secondaryAppOptions]; 
FIRApp *secondaryApp = [FIRApp appNamed:@"Secondary"]; 
FIRAuth *secondaryAppAuth = [FIRAuth authWithApp:secondaryApp]; 

[secondaryAppAuth createUserWithEmail:user.email 
          password:user.password 
          completion:^(FIRUser * _Nullable user, NSError * _Nullable error) { 
           [secondaryAppAuth signOut:nil]; 
          }]; 
2

您可以通過多種方式解決這個問題:

選項1:安全地保存在設備上管理用戶的憑據。然後,當用戶創建新用戶時,使用管理員憑證登錄。這會將您註銷並立即將您重新登錄回來。

選項2:使用admin sdk在網絡端創建具有其他API調用的用戶。

+0

謝謝!我認爲在設備上保存證書,即使安全地進行安全操作有點危險,而且我沒有網絡端,因爲我使用Firebase作爲後端,但這兩個選項都可以使用。 –

+0

請給出正確答案的勾號。先謝謝你 –