J'utilise le SDK Firebase sur une application React Native. J'authentifie les utilisateurs avec onAuthStateChanged - fonctionne très bien. S'il ne renvoie pas un utilisateur, il peut s'inscrire en utilisant son numéro de téléphone. Pour cela, j'utilise ce qui suit lors de la soumission du code d'activation du téléphone:

...
const credential = firebase.auth.PhoneAuthProvider.credential(
  verificationId,
  verificationCode
);
await firebase.auth().signInWithCredential(credential).then((response) => {// creating a record on firestore. onAuthStateChanged will be re-triggered and store the user and token in state});
...

Je souhaite également définir des revendications personnalisées pour l'utilisateur. Comment je fais ça? Je ne peux pas utiliser le SDK d'administration car il s'agit de l'interface et je ne veux pas non plus. Je pourrais lancer un appel à mon graphQL pour le faire, mais il existe probablement un moyen d'ajouter une revendication personnalisée dans le flux ci-dessus. Comment?

0
Ben 3 sept. 2020 à 04:04

2 réponses

Meilleure réponse

Il n'existe aucun moyen pris en charge pour modifier les revendications personnalisées à partir d'une application cliente. Étant donné que les revendications personnalisées sont normalement utilisées pour donner des autorisations sécurisées spéciales, il s'agit évidemment d'une faille de sécurité pour permettre à l'utilisateur de s'attribuer des revendications. C'est pourquoi il est recommandé d'utiliser le SDK Admin sur un backend sécurisé que vous contrôlez.

1
Doug Stevenson 3 sept. 2020 à 01:14

Les revendications personnalisées ne peuvent être définies qu'à partir d'un environnement approuvé. Sinon, n'importe qui pourrait faire toute réclamation qu'il souhaite sur lui-même, ce qui va à l'encontre de son objectif d'ajouter des informations en toute sécurité à un profil d'utilisateur.

1
Frank van Puffelen 3 sept. 2020 à 01:14