2014-04-13 27 views
9

Ben flask-login kütüphanesini kullanıyorum ve bir kullanıcının e-posta yoluyla şifresini sıfırlamasına izin verme hakkında bilgi almak için kullanabileceğiniz herhangi bir iyi eğitim veya belge bulamadık. Bunu nasıl yapacağım konusunda hangi yönlere/kaynaklara bakabilirim? Kapsamlı bir Google arama yararlı bir şey ortaya çıkarmadı.Flask-Login Password Sıfırla

cevap

14

flask-login şifre sıfırlama e-posta ve diğer bu tür işleri halleder etmez . Sadece orada oturumları ve çerezleri yönetmek için.

Flask-Security kullanıp, parola sıfırlama işlevselliğini ve diğer yaygın güvenlikle ilgili özellikleri şişeye ekler. Flask-Güvenlik oturumları işlemek için balon-giriş kullanır, ancak güvenlik özellikleri yuvarlak üst diğer özellikler ekleyen:

yeni kullanıcılar e-posta adresini onaylamak zorunlu kılabilir İstenirse

E-posta Onayı. Flask-Security, onay bağlantısına sahip yeni kullanıcılara bir e-posta mesajı gönderecektir. Onay bağlantısına gidildiğinde, kullanıcı otomatik olarak oturum açacaktır.Kullanıcı kullanım süresinin sona ermesini veya önceki e-postayı kaybetmişse, verilen bir e-postaya onay bağlantısının yeniden gönderilmesi için bir görünüm de vardır. Onay bağlantıları belirli bir süre sonra sona erecek şekilde yapılandırılabilir.

Parola Sıfırlama/Kurtarma

Parola sıfırlama ve kurtarma Bir kullanıcı şifresini unutursa zaman için kullanılabilir. Flask-Security, kullanıcıya numaralı bir bağlantıyı kullanarak şifrelerini sıfırlayabilecekleri bir e-posta gönderir. Parola sıfırlandığında, otomatik olarak giriş yaparlar ve numaralı yeni parolayı kullanabilirler. Şifre sıfırlama bağlantıları, belirtilen bir süre içinde sonra sürecek şekilde yapılandırılabilir.

Kullanıcı Kaydı

Flask-Güvenlik temel bir kullanıcı kayıt görünümü ile paketlenmiş olarak geliyor. Bu görünüm çok basittir ve yeni kullanıcıların sadece adresine ve şifrelerine e-posta göndermeleri gerekmektedir. kayıt işleminiz daha fazla alan gerektiriyorsa bu görünüm geçersiz kılınabilir.

+0

Bu istediğim şeyi başardı, teşekkürler. –

10

Taban mantığı:

  1. email alanıyla şifre sıfırlama formu oluşturun. Kullanıcı daha sonra formu gönderdiğinizde
  2. sen olmalıdır:
    1. onay veritabanında bu e-posta
    2. önbelleğe sıradan kripto rastgele gizli anahtar (sonraki sadece gizli anahtar)
    3. mağaza bu anahtar, şimdiki zaman damgası ve kullanıcı belirteci oluşturmak veya veritabanı
    4. kullanıcı e-posta veya sms göndermek kullanıcı (url veya özel form ile örneğin) gizli anahtarı uygulamak
  3. yapmalısınız:
    1. /enter yeni şifre oluşturmak için mevcut gizli
    2. sağlamak anahtar mantığı kullanıldığı gibi o
    3. olsun kullanıcı
    4. silmek tanımlayıcı veya işareti (, değil dolmadan kullanılmaz bulunmamakta) doğrulamak.

Mantık/enter şifre farklı olabilir oluşturmak için:

  1. açma kullanıcı ve yeni şifreyi girmek için gösteri formu - giriş duruma göre şifreyi girmek için bir kez giriş tuşu
  2. gösteri formu geçerli
  3. yeni şifre oluştur ve kullanıcı e-postasını gönder
  4. Yeni şifre girmek ve kullanıcı e-posta adresime göndermek için yeni bir gizli anahtar oluşturmak
  5. sonra giriş yeni şifreyi ve onay gizli anahtarı girmek için, formu onaylaması sms, gösteri formu aracılığıyla göndermek için yeni gizli anahtarı oluşturmak halinde geçerli
+0

Harika yanıt. Flask-Security'yi kullanmak hayatımı biraz daha kolaylaştırdı, çünkü sıfırdan bir şey yazmam gerekmediği için, bu metodoloji kesinlikle yararlıdır. –