4

例から構築されたmongoengineflask-securityを使用して、確認、登録、追跡、および回復機能のすべてを公開するPythonフラスコアプリがあります。

ユーザーが以下を使用してコードで必須に作成したことを除いて、すべてが機能します。

MongoEngineUserDatastore.create_user(...)

ログインできませんか。つまり、このユーザーでログインしようとすると、次のエラーメッセージが表示されます。

"Email requires confirmation"

URLがハッシュ化されたメールは送信されていないため、確認する方法はありません。作成時にこのユーザーを確認したり、確認済みフラグをどこかに設定したりするために、どこかに渡すことができるパラメーターはありますか?

これが私のコードです:

4

2 に答える 2

5

新しく登録したユーザーを確認し、mongodbを調べて、どのフィールドが追加されたかを確認することで、それを理解しました。確認に必要なフィールドはconfirmed_atであることがわかります。これには、日時が必要です。

import datetime

# Create a user to test with
@app.before_first_request
def create_user():
    user_datastore.create_user(
        email='me@mydomain.com',
        password=utils.encrypt_password('password'),
        confirmed_at=datetime.datetime.now())

ここで要点を更新しました:

https://gist.github.com/davidthewatson/327776905ef30815c138

于 2013-03-06T18:30:11.910 に答える
1

テストユーザーを作成するときは、それらをアクティブにする必要があります。例:

@app.before_first_request
def create_user():
    user_datastore.create_user(
        email='me@mydomain.com', 
        password=utils.encrypt_password('password'),
        active=True)
于 2013-03-06T11:27:59.087 に答える