我正在創建一個iPhone應用,管理員用戶可以創建新用戶,但Firebase文檔指出「如果新帳戶已創建,用戶將自動登錄「,所以我正在尋找一種方法來避免登錄到新創建的用戶。Firebase在創建新用戶時註銷當前用戶
有沒有什麼辦法可以避免這種情況,而無需使用新的Firebase Admin SDK(即僅Web AFAIK)?
我正在創建一個iPhone應用,管理員用戶可以創建新用戶,但Firebase文檔指出「如果新帳戶已創建,用戶將自動登錄「,所以我正在尋找一種方法來避免登錄到新創建的用戶。Firebase在創建新用戶時註銷當前用戶
有沒有什麼辦法可以避免這種情況,而無需使用新的Firebase Admin SDK(即僅Web AFAIK)?
我得到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];
}];
您可以通過多種方式解決這個問題:
選項1:安全地保存在設備上管理用戶的憑據。然後,當用戶創建新用戶時,使用管理員憑證登錄。這會將您註銷並立即將您重新登錄回來。
選項2:使用admin sdk在網絡端創建具有其他API調用的用戶。
謝謝!我認爲在設備上保存證書,即使安全地進行安全操作有點危險,而且我沒有網絡端,因爲我使用Firebase作爲後端,但這兩個選項都可以使用。 –
請給出正確答案的勾號。先謝謝你 –
Firebase Admin SDK用於在node.js服務器上運行(並不意味着它僅用於web)。但是,如果你只想要一個客戶端的方法,它確實不會工作。你也許可以嘗試類似這樣的東西:http://stackoverflow.com/questions/37517208/firebase-kicks-out-current-user –