Kullanıcıların hesaplarını ayrı bir web servisinden kullanarak Flask uygulamasına giriş yapmasına izin vermeye çalışıyorum. Bu web servisinin iletişim bilgilerine ulaşabilir ve güvenlik belirteci alabilirim. Kullanıcıların kimliklerini doğrulamak için bu belirteci nasıl kullanırım?Flask'ta jeton kimlik doğrulamasını nasıl uygularsınız?
Kullanıcıları kendi veritabanına kaydetmem gerekmiyor. Sadece bir oturum için onları doğrulamak istiyorum. Bunun Flask-Security ve @auth_token_required dekoratör kullanılarak yapılabileceğine inanıyorum, ancak belgeler çok ayrıntılı değil ve nasıl uygulanacağından emin değilim.
DÜZENLEME: Orada
@main.route("/login", methods=["GET", "POST"])
def login():
payload = {"User": "john", "Password": "password123"}
url = "http://webserviceexample/api/login"
headers = {'content-type': 'application/json'})
#login to web service
r = requests.post(url, headers=headers, json=payload)
response = r.json()
if (r.status_code is 200):
token = response['user']['authentication_token']
# allow user into protected view
return render_template("login.html", form=form)
@main.route('/protected')
@auth_token_required
def protected():
return render_template('protected.html')
Kullanıcıları belirteci ile kaydetmeniz gerekir; ve belirtecin hizmete karşı geçerliğini doğrulayın. Aksi takdirde, her seferinde ziyaretçilere her defasında 3. taraf hizmetine karşı kimlik doğrulaması yapmanız gerekecektir. –
Her oturumda her oturum için mi demek istiyorsunuz? Eğer öyleyse, yeniden kimlik doğrulaması yapmaları iyi olur. Bunun bir sorun olması için bir sebep var mı? – Amerikaner