現在、認証にGoogleAppEngineのデフォルトのユーザーサービスを使用しています。ユーザーの参加日(つまり、ユーザーが私のWebアプリのメンバーである期間)を保存し、ユーザーが誤動作した場合にユーザーをアプリから禁止できるようにしたいと思います。
この情報を保存するには、追加のモデルが必要になることを理解しています。
class User_Info(db.model):
user = db.UserProperty()
join_date = db.DateTimeProperty(auto_now_add=True)
banned = db.BooleanProperty(False)
しかし、私が理解していないこと:新しいユーザーが私のアプリに「登録」したとき(参加日を保存するため)またはログインしたとき(ユーザーが禁止されているかどうかを確認するため)のコールバックを取得する方法はありますか?
私が考えた1つの方法は、中間の宛先URLをに送信することでしたusers.create_login_url()
。これにより、関連付けられたUser_Infoインスタンスが存在するかどうかがチェックされます。もしそうなら、それは禁止された旗をチェックするでしょう。そうでない場合は、user_infoインスタンスを作成し、参加日を保存します。次に、実際のリンク先URLにリダイレクトされます。
より良い解決策はありますか?
将来的にはフェデレーション認証モデルに切り替える予定であり、切り替えたときに機能するソリューションを期待していたことに注意してください。
ありがとう!