0

私の目標は、複数のログインユーザを防ぐことです。これはクライアント側にしたいのですが、onDisconnectとonConnectの値と同じですが、チェック。私はこの答えに出くわした:"このファイルをあなたの認証サーバーにコピーする" - Firebaseカスタム認証

カスタム認証システムを作成するために私に指示

How to prevent simultaneous logins of the same user with Firebase?

。私がドキュメント(https://firebase.google.com/docs/auth/ios/custom-auth)に従っているとき、私は "あなたの認証サーバーにこのファイルをコピーする"必要があります(3c)。どうすればいい?私はFirebaseと私の小さなiOSアプリを使っています。私はこれらの2つのものすべてを管理したいと思います。その間にサーバーはありませんが、これは可能ですか?または、このファイルは別のサーバー経由でのみアップロードできますか?

上記のことができない場合は、ユーザーが実際にログインしたかどうかをサーバーで確認するにはどうすればよいですか。私はクラウド機能を使用していますが、サインインしたユーザのトリガを見つけられませんでした。onDisconnect/onConnectを使用して回答してください。サーバー側が必要です。ありがとう:)

答えて

1

カスタム認証を実装するには、各ユーザーを識別するカスタムトークンを作成するための安全な場所が必要です。クライアント側のコードだけでは、これを安全に行うことはできません。なぜなら、誰もが自分が望むと主張できるからです。

use Cloud Functions for Firebase自分のサーバーをスピンアップさせずに安全なバックエンドを実装することができますが、ユーザーが複数の場所からサインインするのを防ぐために行うことを強くお勧めします。

この2つのステップに分割するためのセキュリティについて話したときにそれは重要です:

  1. 認証 - 彼らは
  2. 認可のある人であることを証明したユーザ - 認証されたユーザーにアプリを使用することができることを

ユーザーが誰であるかを証明しないようにする理由はほとんどありません。あなたの懸念は、複数の場所からアプリを使用できないようになっているようです。これを行うには、すでにusing Firebase Database's presence systemのアプリを使用している各ユーザーを追跡する方が簡単でしょう。

も参照してください:すべての後に

+0

は、[OK]をよくあなたはfirebaserです!私は、コードの行(onConnectとonDisconnect)を削除し、複数のログインを引き起こしていたクラックされたバージョンを再実行して、悪用されるすべての悪用を恐れています...しかし、おそらく私は考え過ぎています:) –