0

Je crée une application native Android et j'utilise Firebase Auth avec plusieurs sources d'authentification telles que; Email, Facebook, Google etc, j'utiliserai le SDK Firebase pour discuter et DB en temps réel. J'ai une API RESTful avec un MySQL (similaire à Facebook avec des amis, des messages privés et publics), une base de données d'utilisateurs derrière un serveur PHP et je voudrais synchroniser l'Auth pour que je puisse m'assurer que l'utilisateur est correct et dispose d'une autorisation pour accéder aux données pour lesquelles ils ont des permissions. Je suis en mesure d'éditer et de modifier ma base de données afin que je puisse l'adapter aux suggestions ici.Stocker en toute sécurité les utilisateurs Android Firebase Auth dans une base de données MySQL

(Au départ, je pensais que je pourrais avoir besoin quelque chose comme OAuth mais je ne pense plus que nécessaire)

Après beaucoup de recherches, je pense que je dois communiquer en toute sécurité l'email de l'utilisateur et le jeton Firebase Auth MySQL tout en gardant les détails en synchronisation? Il semble que ce serait quelque chose qui serait assez commun mais je n'ai pas été capable de trouver une réponse définitive.

(Si la déclaration ci-dessus est vrai)

Mes questions sont les suivantes:

  • Est-ce l'e-mail et Auth jeton tout ce qui est nécessaire pour AUTH un utilisateur via le serveur
  • Si le jeton Auth être envoyé à Firebase SDK en utilisant le SDK PHP
  • Comment les informations d'identification doivent être stockées dans la base de données MySQL en ce qui concerne la sécurité
  • Comment le jeton d'authentification expire et/ou devient ref reshed
  • Comment les informations doivent être envoyées en toute sécurité du client Android à la base de données MySQL
  • Quelle est la procédure correcte et une stratégie pour la mise à jour des jetons Auth
  • Quelle est la stratégie de synchronisation correcte pour plus de détails Auth, tels que l'adresse e-mail et jetons entre le client et le serveur
  • suis-je même sur la bonne voie :)

Je suis nouveau à la plupart des concepts Auth.

Meilleures salutations

Répondre

1
  1. Est ce que le courrier électronique et Auth jeton tout ce qui est nécessaire pour AUTH un utilisateur via le serveur: il vous suffit de le jeton ID Auth. Vous pouvez obtenir l'email de cela. Vous devez vérifier le jeton d'identification chaque fois qu'il est envoyé à votre serveur. Vérifier https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_a_third-party_jwt_library

  2. Le jeton d'authentification doit-il être envoyé à Firebase SDK à l'aide du kit de développement logiciel PHP? C'est l'inverse. Le jeton d'identification est du côté client, vous appelez getIdToken et ensuite l'envoyez à votre serveur principal.

  3. Comment les informations d'identification doivent être stockées dans la base de données MySQL en ce qui concerne la sécurité: Vous n'avez pas besoin de stocker les informations d'identification dans votre base de données. vous pouvez stocker des informations de session, mais les informations d'identification sont générées et actualisées sur le client.

  4. Comment le jeton d'authentification expire et/ou s'actualise: L'appel de user.getIdToken renvoie toujours un nouveau jeton. Si le jeton n'a pas expiré, le jeton en cache est renvoyé. Si expiré, il sera actualisé et un nouveau retourné.Vous devrez l'appeler chaque fois qu'un utilisateur authentifié envoie une demande.
  5. Comment les informations doivent-elles être envoyées en toute sécurité du client Android à la base de données MySQL: Vous devez toujours l'envoyer avec le jeton d'identification de l'utilisateur. Assurez-vous d'utiliser le protocole https. Vérifiez toujours le jeton d'identification sur votre serveur.
  6. Quelle est la procédure correcte et une stratégie pour la mise à jour des jetons Auth: utiliser user.getIdToken()
  7. Quelle est la stratégie de synchronisation correcte pour plus de détails Auth, tels que l'adresse e-mail et jetons entre le client et le serveur: Tokens ne ont pas besoin être stocké sur votre serveur. Vous pouvez faire confiance au courriel dans le jeton. Il est possible que l'adresse e-mail d'un utilisateur soit mise à jour côté client. Lorsque cela se produit, l'e-mail du jeton doit également être mis à jour.