hackjunction / hackjunction/JunctionApp

Improve copying over data from idToken

Ouverte
#27 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
JavaScript
Étoiles
78
Forks
69
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Depending on the login method, the user's idToken already potentially contains some relevant information that we could use to pre-fill the registration form. We are currently just using the user's name and email from the idToken, but we could just as well use the following:

- LinkedIn profile URL (if logging in with LinkedIn)
- GitHub profile URL (if logging in with GitHub)
- Something else? (Check what kinds of fields the idToken contains / could contain)

This should be implemented by just making the correct mapping from the idToken value to the respective question in [registration-fields.js](https://github.com/hackjunction/hackplatform/blob/dev/shared/constants/registration-fields.js), see e.g. the following example with the email field for reference:

```
email: {
...FieldProps.email,
category: Categories.basicDetails,
// Here is where we map the values from the idToken
default: (userProfile, idToken) => userProfile.email || idToken.email || '',
validationSchema: required => {
const base = yup
.string()
.email()
.label(FieldProps.email.label);
return required ? base.required() : base;
}
},
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez dans shared/constants/registration-fields.js, en utilisant le mappage par défaut du champ d’adresse e-mail comme référence. Vérifiez quels champs idToken peut contenir pour chaque méthode de connexion, puis mappez les URL de profil prises en charge ou d’autres valeurs utiles aux questions d’inscription correspondantes. Le travail est terminé lorsque le formulaire d’inscription est prérempli avec les données idToken disponibles sans remplacer les valeurs existantes de userProfile.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
frontend
Type d'issue
Fonctionnalité
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
52/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.