Question d'entretien pour Développeur full stack

Déroulez-moi le flux OAuth authorization code avec PKCE.

Ce que le recruteur cherche à évaluer, comment structurer votre réponse et un exemple parlé à adapter.

Réponse rapide

Le client génère un verifier aléatoire, le hache en un code challenge, et redirige l'utilisateur vers le serveur d'autorisation avec ce challenge. L'utilisateur s'authentifie, est redirigé avec un code à usage unique, et le client échange ce code plus le verifier d'origine contre des tokens. Comme l'échange exige le verifier, un code intercepté ne sert à rien. OAuth 2.1 impose PKCE pour tous les clients, publics comme confidentiels.

Pourquoi les recruteurs posent cette question

Presque tous les produits font du login social ou une intégration tierce, donc le recruteur veut savoir si vous en avez implémenté un ou seulement cliqué à travers une bibliothèque. Il écoute la redirection, l'échange du code de serveur à serveur, et pourquoi PKCE existe. Un signal bonus vient de la distinction entre l'autorisation OAuth et l'authentification OIDC, que la plupart des candidats confondent.

Comment structurer votre réponse

  • Retracez le flux dans l'ordre, du verifier à l'échange de tokens.
  • Expliquez quelle attaque PKCE empêche.
  • Distinguez l'ID token du token d'accès.
  • Dites où finit chaque token de votre côté.

Exemple de réponse

Exemple parlé, à la première personne

Le client commence par générer un verifier à forte entropie et le hache en SHA-256 pour fabriquer le code challenge. Il envoie l'utilisateur vers le serveur d'autorisation avec l'identifiant client, l'URI de redirection, les scopes, une valeur state et ce challenge. L'utilisateur se connecte et consent, et le serveur d'autorisation redirige avec un code de courte durée. Le client poste ensuite ce code et le verifier brut sur l'endpoint de token, le serveur hache le verifier et vérifie qu'il correspond au challenge qu'il avait stocké, et seulement là il émet des tokens. C'est tout l'intérêt de PKCE : un code volé dans une redirection, un log ou une application malveillante sur l'appareil ne peut pas être échangé sans le verifier, qui n'a jamais quitté le client. Je valide quand même state séparément, parce que ça couvre le CSRF sur le callback plutôt que l'interception du code. Si je fais du login plutôt que de l'accès à une API, je m'intéresse à l'ID token OIDC et je valide sa signature, son émetteur, son audience et son nonce avant de faire confiance à la moindre claim.

Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.

Voir comment ça marche

Questions de relance à prévoir

  • Contre quoi le paramètre state protège-t-il que PKCE ne couvre pas ?
  • Quelle est la différence entre un ID token et un token d'accès ?
  • Où stockeriez-vous le refresh token pour un client dans le navigateur ?

Autres questions pour Développeur full stack

Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.

Prédire mes questions

Répétez les questions difficiles avant qu'on vous les pose

Entraînez-vous avec un copilote en direct, puis présentez-vous prêt. Un Session Pass à $29 vous accompagne pendant l'entretien, sans abonnement et sans engagement.

Obtenir GhostPilot