0

Androidのネイティブアプリを作成しています.Firebase Authを使用しています。 Email、Facebook、Googleなど、Firebase SDKをチャットやリアルタイムDBに使用します。安全にAndroidのFirebase AuthユーザーをMySQLデータベースに保存します

私は、PHPを使ったPHPの背後にあるユーザデータベースであるMySQL(Facebook、友人、私的、公的な投稿と同様)を備えたRESTfulなAPIを持っています。適切であり、権限を持つデータにアクセスする権限を持ちます。データベースを編集して変更することができますので、ここで提案に適応させることができます。

(私はもともと私はしかし、私はもはやそれは必要だと思うのOAuthのようなものを必要としないかもしれないと思った)

多くの研究の後、私はしっかりにユーザーの電子メールとFirebase認証トークンを通信する必要があると思います詳細を同期させながらMySQLを使用していますか?これはかなり一般的になるだろうが、私は決定的な答えを見つけることができなかったようだ。 (上記のステートメントがtrueの場合)

私の質問は以下のとおりです。

  • はメールですと認証トークンすべてのことは、サーバー
  • 万一認証トークンを介してユーザを認証するために必要とされますPHPのSDKを使用してFirebird SDKに送信されます
  • セキュリティに関してMySQLデータベースに証明書を保存する方法
  • 認証トークンはどのように期限切れになりますか?電子メールアドレスなどの認証の詳細、の正しい同期戦略は何認証トークン
  • を更新するための正しい手順と戦略でどのような情報は、MySQLデータベース
  • にAndroidのクライアントから安全に送信する必要がありますどのよう
  • をreshedし、クライアントとサーバーの
  • 間のトークンは、私も右のトラックにアム:)

私はほとんどの認証の概念に新たなんです。

敬具

答えて

1
  1. メールですと認証トークンすべてのことは、サーバを介してユーザを認証するために必要とされています。あなただけの認証IDトークンを必要とします。あなたはその電子メールを受け取ることができます。サーバーに送信されるたびにIDトークンを確認する必要があります。 Check https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_a_third-party_jwt_library

  2. AuthトークンをPHP SDKを使用してFirebase SDKに送信する必要がありますか?それは逆です。 IDトークンはクライアント側にあり、getIdTokenを呼び出してバックエンドサーバーに送信します。

  3. セキュリティに関してMySQLデータベースにどのように資格情報を保存する必要がありますか:あなたのDBに資格情報を保存する必要はありません。セッション情報を保存できますが、クレデンシャルはクライアント上で生成され、リフレッシュされます。

  4. Authトークンの期限切れやリフレッシュの仕組み:user.getIdTokenを呼び出すと、常に新しいトークンが返されます。トークンが期限切れでない場合、キャッシュされたトークンが返されます。有効期限が切れていると、更新され、新しいものが返されます。認証されたユーザーが何らかの要求を送信するたびにこれを呼び出す必要があります。
  5. AndroidクライアントからMySQLデータベースに安全に情報を送信する方法:常にユーザーのIDトークンで情報を送信する必要があります。必ずhttpsプロトコルを使用してください。サーバー上のIDトークンは常に確認してください。
  6. 認証トークンを更新する正しい手順と戦略は次のとおりです。use user.getIdToken()
  7. クライアントとサーバーの間の電子メールアドレスやトークンなど、Authの詳細に関する正しい同期方法は何ですか。あなたのサーバーに保存されます。トークンの電子メールを信頼することができます。ユーザー側の電子メールがクライアント側で更新される可能性があります。その場合、トークン電子メールも更新する必要があります。
関連する問題