FLASK JWT: Utilisez pour l’identité de l’utilisateur à tokenize, authentifiez les utilisateurs d’API

Tirez parti de Flask JWT pour tokenize de votre membre ou de l’identité de l’utilisateur et utilisez-le pour s’authentifier. C’est pour les données inter-échange et ux

Dans ce chapitre, je parlerais de la façon de tirer parti de Flask JWT pour tokensize de votre membre ou de l’identité de l’utilisateur et de l’utiliser pour s’authentifier. C’est un moyen super commun et utile d’inter-exchange de données et d’amélioration de l’expérience utilisateur. Il est adaptable dans n’importe quel secteur, comme le marketing numérique, le commerce électronique, le SaaS, les médias et les activités de données.

Table des matières: Utilisez Flask JWT pour tokeniser les identités des utilisateurs

Pourquoi votre API a besoin d’authentification token

En tant que développeur ou vendeur d’inventaire numérique, s’assurer que l’authentification de l’identité utilisateur s’exécute de manière transparente est l’une des tâches quotidiennes les plus importantes pour sécuriser l’entreprise ou les applications. De plus, un vendeur d’inventaire de données ne veut voir personne qui peut accéder à l’API sans limite ou sous un système de suivi. C’est simplement pourquoi nous avons besoin d’authentification des jetons API du point de vue de la sécurité et des entreprises.

Pendant ce temps, pour les expériences des utilisateurs, vous espérez que vos utilisateurs API pourront se connecter à leurs comptes API en ajoutant simplement un jeton dans le point de terminaison de l’API. Ou via un jeton API, ils peuvent avoir accès à des données analysées pertinentes, les connecter avec les applications et profiter d’expériences utilisateur personnalisées. C’est d’une manière transparente, rapide et sécurisée.

Dans l’ensemble, la tokenisation de l’identité de l’utilisateur est cruciale, utile et efficace dans l’inte-échange et la communication des données, quels que soient les secteurs dans lesquels vous travaillez. En particulier, nous entrons dans l’ère des biscuits et de la plus grande ère murale.

Qu’est-ce que Flask JWT

Avant d’élaborer sur le JWT, d’abord, nous devons savoir ce qu’est Flask. Essentiellement, Flask est un micro-travail basé sur Python utilisé pour construire API REST. L’idée principale du framework Flask est de garder les choses simples mais extensibles. Il permet aux développeurs d’ajouter des extensions personnalisées pour l’intégration de la base de données, l’authentification, la gestion de session et tous les autres systèmes backend en fonction des préférences.

Auparavant, j’ai parlé de Flask pour construire une application Bot Shopify. Si vous êtes intéressé, veuillez consulter cette pièce.

https://www.easy2digital.com/automation/data/python-tutorial-26-create-a-shopify-bot-web-application-using-flask-and-heroku/

Les jetons Web JSON (JWT) sont un moyen sécurisé et compact pour transmettre des données entre deux parties à l’aide d’objets JSON. Donc, essentiellement, si votre application est construite en utilisant Flask, JWT est une option populaire pour vous pour créer une API Token_Required ou un accès utilisateur.

JSON utilise deux types de structures différents pour transmettre des données. L’un est sérialisé. Ce type est utilisé lorsque vous transférez des informations sur le réseau via chaque demande et réponse. Il contient une charge utile, une en-tête et une signature.

L’autre est désérialisé. Ce type est utilisé lorsque vous lisez / écrivez des informations sur le jeton. Il contient une charge utile et un en-tête.

J’ai essayé de le comparer avec YAML précédemment, veuillez consulter cette pièce si vous aimez en explorer plus.

https://www.easy2digital.com/automation/data/python-knowledge-hub-json-vs-yaml-which-data-serialization-is-better/

Feuille de route de la tokenisation

Comme mentionné, JWT est destiné à l’authentification des utilisateurs comme premier objectif d’origine. Donc, fondamentalement, il y a trois étapes principales dans toute la feuille de route de la génération.

  • Créez une colonne de jeton dans la base de données utilisateur construite à l’aide de Sqlalchemy
  • Encoder un nouveau jeton utilisateur d’inscription à partir de l’action d’enregistrement de l’utilisateur
  • Construisez une fonction token_required qui peut être appliquée à tous les itinéraires de flacon qui nécessitent une authentification des utilisateurs que vous souhaitez

Colonne de jeton, encoder et décoder

Je prendrais par exemple Sqlalchemy. Tout d’abord, nous devons ajouter une colonne pour stocker le jeton unique de chaque utilisateur. Pour la dénomination, nous pouvons définir le «jeton» par exemple. Mais cela dépend de votre préférence. Pour plus de détails concernant la base de données FLASK, je publierai un autre article.

La no 2 étape consiste à ajouter la méthode JWT Encoder dans la nouvelle route d’inscription utilisateur. C’est parce que nous voulons attribuer un jeton API unique à tous les nouveaux utilisateurs lorsqu’ils terminent les inscriptions. Ici, je sélectionne uniquement le code d’invitation que nous envoyons à l’utilisateur pour s’inscrire comme référence de codage de jeton. Vous pouvez soit utiliser un autre point de référence, soit le rendre plus complexe en utilisant des points de référence multiples.

Enfin et surtout, nous utilisons la méthode de la classe utilisateur de la base de données pour ajouter le nouveau jeton au nouvel utilisateur. C’est unique pour elle ou lui.

Token requis – enveloppe et décoder

Maintenant, il est prêt à construire la fonction requise à jeton. Nous en avons besoin car nous devons l’attribuer à tous les itinéraires dont nous avons besoin d’authentification des utilisateurs. Le but est tout aussi bien que le login_réquette.

Dans cette fonction, le composant clé consiste à décoder le jeton et à voir si la valeur correspond à celle créée lorsque la nouvelle inscription avant.

Avant d’entrer dans la section de décodage, nous devons importer un module qui functools et enveloppe.

La fonction Wraps fait partie du module Functools de Python. Il enveloppe et met à jour la fonction d’emballage du décorateur en copiant les attributs tels que _name__, __doc__, le docstring, etc.

def token_required(f):

@wraps(f)

def decorate(*args, **kwargs):

Vous pouvez utiliser des wraps comme décorateur pour réparer les docstrings et les noms des fonctions décorées. Pourquoi est-ce important? Cela ressemble à un cas de bord étrange au début, mais si vous écrivez une API ou un code que quelqu’un d’autre que vous-même utilisera, cela pourrait être important. La raison en est que lorsque vous utilisez l’introspection de Python pour déterminer le code de quelqu’un d’autre, une fonction décorée renverra les mauvaises informations.

Deux composantes

Tout d’abord, nous devons ajouter un paramètre de jeton sur notre point de terminaison API et le nommer, comme un jeton. Lorsque les gens appellent l’API, ils ajoutent leurs jetons uniques dans ce paramètre, comme www.abe.com?token=12324343

token = request.args.get('token')

Ensuite, nous pouvons créer une condition si le jeton est manquant ou non valide, ou correct. Par exemple, pour le bon statut, le jeton décodé doit correspondre au public_id créé lorsque l’utilisateur s’est inscrit. Nous avons donc pu interroger la base de données en filtrant l’utilisateur public_id.

Si l’ID ne correspond pas au jeton décodé, le message de réponse n’est pas valide. Ou si le point de terminaison de l’API n’a pas le jeton, le message de réponse est le jeton est manquant. Il garantit donc à quiconque utilise l’API a été authentifié.

Échantillons de script Python complet de Flask JWT

If you are interested in the full python script of Chapter 54 – Utilize Flask JWT to Tokenize User Identities and Authenticate Users, please subscribe to our newsletter by adding the message “Chapter 54”. We would send you the script immediately to your mailbox.

Contactez-nous

J’espère que vous apprécierez la lecture du chapitre 54 – Utilisez FLASK JWT pour tokensiner les identités des utilisateurs et authentifier les utilisateurs. Si vous l’avez fait, veuillez nous soutenir en faisant l’une des choses énumérées ci-dessous, car cela aide toujours notre chaîne.

  • Support and donate to our channel through PayPal (paypal.me/Easy2digital)
  • Subscribe to my channel and turn on the notification bell Easy2Digital Youtube channel.
  • Follow and like my page Easy2Digital Facebook page
  • Partagez l’article sur votre réseau social avec le hashtag # easy2digital
  • Buy products with Easy2Digital 10% OFF Discount code (Easy2DigitalNewBuyers2021)
  • Vous vous inscrivez à notre newsletter hebdomadaire pour recevoir les derniers articles, vidéos et code de réduction Easy2digital

FAQ:

Q1: Qu’est-ce que le jeton FLASK JWT?

R: Flask JWT Token est un package pour Flask, un micro-framework pour Python, qui fournit une authentification JSON Web Token (JWT).

Q2: Pourquoi devrais-je utiliser le jeton FLASK JWT?

R: Flask JWT Token vous permet d’implémenter l’authentification et l’autorisation sécurisées dans vos applications Flask à l’aide de JWTS, qui sont un moyen sécurisé et compact de transmettre des informations entre les parties.

Q3: Comment installer Flask JWT Token?

A: You can install Flask JWT Token by using pip, the Python package installer. Simply run the command ‘pip install flask-jwt-token’ in your terminal or command prompt.

Q4: Comment utiliser le jeton FLASK JWT pour l’authentification?

R: Pour utiliser Flask JWT Token pour l’authentification, vous devez générer des JWT pour vos utilisateurs lors de la connexion réussie et inclure ces jetons dans les demandes suivantes. Le jeton FLASK JWT offre des décorateurs et des fonctions pratiques pour gérer ce processus.

Q5: Peut l’expiration du jeton de la poignée JWT FLASK JWT?

R: Oui, Flask JWT Token prend en charge l’expiration des jetons. Vous pouvez définir un temps d’expiration lors de la génération de JWT, et Flask JWT Token validera automatiquement l’expiration des jetons entrants.

Q6: Flask JWT est-il compatible avec les autres extensions du ballon?

R: Oui, Flask JWT Token est conçu pour fonctionner de manière transparente avec d’autres extensions de flacon. Il fournit des points d’intégration pour les extensions de flacon courantes comme le flacon et le flacon-sqlalchemy.

Q7: La révocation des jetons de jeton JWT FLASK JWT peut-elle?

R: Flask JWT Token ne supporte pas nativement la révocation des jetons. Cependant, vous pouvez implémenter la révocation des jetons en maintenant une liste noire de jetons révoqués dans votre application et en vérifiant cette liste noire avant d’accepter un jeton.

Q8: Flask JWT Token Support Support Token Rafesh?

R: Oui, Flask JWT Token prend en charge la rafraîchissement du jeton. Vous pouvez générer un jeton de rafraîchissement avec le jeton d’accès et utiliser le jeton de rafraîchissement pour obtenir un nouveau jeton d’accès lorsque celui actuel expire.

Q9: Y a-t-il des considérations de sécurité lors de l’utilisation du jeton FLASK JWT?

R: Oui, il existe des considérations de sécurité lors de l’utilisation du jeton FLASK JWT. Il est important de sécuriser correctement votre clé secrète JWT, d’utiliser HTTPS pour transmettre des jetons et de valider l’intégrité et l’authenticité des jetons entrants.

Q10: Où puis-je trouver plus d’informations sur Flask JWT Token?

R: Vous pouvez trouver plus d’informations sur le jeton FLASK JWT dans la documentation officielle, qui comprend des exemples d’utilisation détaillés et des explications de diverses fonctionnalités.