Es wurde ein Fehler behoben, der das einfache multifunktionale An- und Abmelden mit Python / Flask mithilfe von Auth0 ermöglichte

Referenzseite

Mit Auth0 können Sie mit Python / Flask problemlos multifunktionales An- und Abmelden realisieren https://blanktar.jp/blog/2017/11/python-flask-auth0.html

Es gab einen Teil der oben genannten Site, der nicht funktionierte, also habe ich ihn behoben.

Änderungsort

from jwt.algorithms import RSAAlgorithm

@app.route('/callback')
def auth_callback():
	#Holen Sie sich die Informationen von Auth0.
	resp = auth0.authorized_response()
	if resp is None:
		return 'nothing data', 403

	#Holen Sie sich die Informationen, um die Signatur zu überprüfen.
	jwks = json.loads(urllib.request.urlopen("https://"+AUTH0_DOMAIN+"/.well-known/jwks.json").read())
	
    #Entschlüsseln Sie Daten im JWT-Format, um Informationen über den Benutzer zu erhalten.
	#Ich überprüfe übrigens, ob die Signatur korrekt ist.
	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  #Die Unterschrift ist seltsam.

	#Speichern Sie Benutzerdaten in einem Cookie mit flask Session.
	flask.session['profile'] = {
		'id': payload['sub'],
		'name': payload['name'],
		'picture': payload['picture'],
	}

	#Springe zu meiner Seite.
	return flask.redirect(flask.url_for('mypage'))

Recommended Posts

Es wurde ein Fehler behoben, der das einfache multifunktionale An- und Abmelden mit Python / Flask mithilfe von Auth0 ermöglichte
Mit Python 3 einfach auf Twitter posten
Hochladen mit Heroku, Flask, Python, Git (4)
Mit Cloud Run x Flask können Sie ganz einfach Mikrodienste realisieren
Flow, um die Slack-Authentifizierung mit Flask (Python) abzuschließen
Ich habe einen Anmelde- / Abmeldevorgang mit Python's Bottle durchgeführt.
Hochladen mit Heroku, Flask, Python, Git (Teil 3)
Einfache Möglichkeit, mit Google Colab mit Python zu kratzen
Versuchen Sie, mit MVC eine RESTful-API mit Flask 1.0.2 zu erstellen
Hochladen mit Heroku, Flask, Python, Git (Teil 1)
Hochladen mit Heroku, Flask, Python, Git (Teil 2)
Machen Sie einfach einen Piepton mit Python
Programmieren mit Python Flask
Bildschirm und geteilter Bildschirm mit Python- und SSH-Anmeldung am Remote-Server
Vorsichtsmaßnahmen bei der Verwendung von Python mit AtCoder
Dinge, die Sie bei der Verwendung von CGI mit Python beachten sollten.
So aktualisieren Sie FC2-Blogs usw. mithilfe von XMLRPC mit Python
So laden Sie Dateien mit Python in den Cloud-Speicher hoch [Erstellen Sie mit Raspberry PI # 1 eine Festkommakamera]
Stellen Sie mit Python eine Verbindung zu BigQuery her
Mit Python mit Kelch ganz einfach ohne Server
Verwenden von Quaternion mit Python ~ numpy-quaternion ~
Melden Sie sich auf der Website in Python an
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
[Python] Verwenden von OpenCV mit Python (Basic)
Mit Python auf Twitter posten
Starten Sie mit Python zu Selen
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
Webanwendung mit Python + Flask ② ③
Verwenden von OpenCV mit Python @Mac
Webanwendung mit Python + Flask ④
Senden Sie mit Python mit Google Mail
Ich habe eine Bibliothek erstellt, die Konfigurationsdateien mit Python einfach lesen kann
Webanwendung mit Python + Flask (unter Verwendung von VScode) # 1 - Aufbau einer virtuellen Umgebung-
Python: Einführung in Flask: Erstellen einer Nummernidentifizierungs-App mit MNIST
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Wenn Sie ein Objekt mit Anforderungen mithilfe der Flasche senden möchten
Ich habe versucht, Gesichtsmarkierungen mit Python und Dlib leicht zu erkennen