5

ユーザー名とパスワードだけでなく、関連モデルの特定のフィールドもチェックしてユーザーを認証できるようにする Django アプリを作成しました。POSTエンドポイントに送信するカスタム リクエストの本文は次のとおりです。

payload = { 'username': user, 'password': password, 'app_id': uuid4}

モジュールを使用djangorestframework-simplejwtしてアクセストークンを取得しています。

models.py

class Application(models.Model):

    app_name  = models.CharField(max_length=300)
    app_id    = models.UUIDField(default=uuid.uuid4, editable=False)

    def __str__(self):
        return self.app_name

class ProfileApp(models.Model):

    user       = models.OneToOneField(User, on_delete=models.CASCADE)
    app        = models.ForeignKey(Application, on_delete=models.CASCADE)
    expires_on = models.DateTimeField(default=datetime.now() + timedelta(days=15))

    def __str__(self):
        return self.app.app_name + " | "  + self.user.username

日付がまだ期限切れになっていない場合にのみユーザーを認証するようにTokenObtainPairViewfromをオーバーライドすることは可能ですか? または、このようにすることでアーキテクチャの問題がありますか?rest_framework_simplejwtexpires_on

4

1 に答える 1