Correction pour réaliser facilement une connexion / déconnexion multifonctionnelle avec Python / Flask en utilisant Auth0

Site de référence

Réalisez facilement une connexion / déconnexion multifonctionnelle avec Python / Flask en utilisant Auth0 https://blanktar.jp/blog/2017/11/python-flask-auth0.html

Il y avait une partie du site ci-dessus qui ne fonctionnait pas, alors je l'ai corrigée.

Lieu de modification

from jwt.algorithms import RSAAlgorithm

@app.route('/callback')
def auth_callback():
	#Obtenez les informations fournies par Auth0.
	resp = auth0.authorized_response()
	if resp is None:
		return 'nothing data', 403

	#Obtenez les informations pour vérifier la signature.
	jwks = json.loads(urllib.request.urlopen("https://"+AUTH0_DOMAIN+"/.well-known/jwks.json").read())
	
    #Décryptez les données au format JWT pour obtenir des informations sur l'utilisateur.
	#Au fait, je vérifie que la signature est correcte.
	try:
		payload = jwt.decode(resp['id_token'], RSAAlgorithm.from_jwk( json.dumps(jwks['keys'][0])), audience=AUTH0_CLIENT_ID, algorithms='RS256')
	except Exception as e:
		print(e)
		return 'something wrong', 403  #La signature est étrange.

	#Enregistrez les données utilisateur dans un cookie à l'aide de flask Session.
	flask.session['profile'] = {
		'id': payload['sub'],
		'name': payload['name'],
		'picture': payload['picture'],
	}

	#Passer à ma page.
	return flask.redirect(flask.url_for('mypage'))

Recommended Posts

Correction pour réaliser facilement une connexion / déconnexion multifonctionnelle avec Python / Flask en utilisant Auth0
Publiez facilement sur Twitter avec Python 3
Comment télécharger avec Heroku, Flask, Python, Git (4)
Réalisez facilement des micro-services avec Cloud Run x Flask
Flux pour terminer l'authentification Slack avec Flask (Python)
J'ai effectué un processus de connexion / déconnexion en utilisant Python's Bottle.
Comment télécharger avec Heroku, Flask, Python, Git (Partie 3)
Un moyen facile de gratter avec Python en utilisant Google Colab
Essayez de créer une API RESTful avec MVC à l'aide de Flask 1.0.2
Comment télécharger avec Heroku, Flask, Python, Git (Partie 1)
Comment télécharger avec Heroku, Flask, Python, Git (Partie 2)
Faites facilement un bip avec python
Programmation avec Python Flask
écran et écran partagé avec connexion python et ssh au serveur distant
Précautions lors de l'utilisation de Python avec AtCoder
Choses à garder à l'esprit lors de l'utilisation de cgi avec python.
Comment mettre à jour le blog FC2, etc. en utilisant XMLRPC avec Python
Comment télécharger des fichiers sur Cloud Storage à l'aide de Python [Créer une caméra à point fixe avec Raspberry PI # 1]
Connectez-vous à BigQuery avec Python
Facilement sans serveur avec Python en utilisant Calice
Utilisation de Quaternion avec Python ~ numpy-quaternion ~
Connectez-vous au site Web en Python
Connectez-vous à Wikipedia avec Python
Publiez sur Slack avec Python 3
[Python] Utilisation d'OpenCV avec Python (basique)
Publier sur Twitter en utilisant Python
Commencez à Selenium en utilisant python
Basculer python vers 2.7 avec des alternatives
Écrire en csv avec Python
Application Web avec Python + Flask ② ③
Utiliser OpenCV avec Python @Mac
Application Web avec Python + Flask ④
Envoyer en utilisant Python avec Gmail
J'ai créé une bibliothèque qui lit facilement les fichiers de configuration avec Python
Application Web réalisée avec Python + Flask (en utilisant VScode) # 1-Construction d'environnement virtuel-
Python: Introduction à Flask: création d'une application d'identification de numéro à l'aide de MNIST
J'ai essayé de créer une application todo en utilisant une bouteille avec python
Lorsque vous souhaitez envoyer un objet avec des requêtes à l'aide de flask
J'ai essayé de détecter facilement les points de repère du visage avec python et dlib