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.
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