BShaffer OAuth2 Server: разрешено ли изменять область действия токена в базе данных после его создания?

Сценарий: у меня есть приложение, работающее с бэкэндом PHP с сервером Ohauth2 от BShaffer. Когда пользователь входит в систему, я могу только проверить квитанцию ​​о покупке в приложении, которая уже была загружена на сервер, чтобы увидеть, "является ли он премиальным" или нет. Если я вижу, что подписка в квитанции истекла, мне нужно получить более новую. Это должно происходить как можно реже, так как пользователь всегда должен повторно вводить свой пароль itunes (на iOS), чтобы я мог получить квитанцию.

Мой план будет:

  • Войдите, создайте токен OAuth2 (Носитель, хранится в базе данных). Проверьте, есть ли квитанция. Если да, проверьте, есть ли у него просроченная подписка. В этом случае добавьте область действия SUBSCRIPTION_EXPIRED. В некоторых других случаях, если все работает хорошо, добавьте область действия PREMIUM.
  • Если клиент узнает через бэкэнд, что у него есть область действия SUBSCRIPTION_EXPIRED, он получает более новую версию квитанции и загружает ее.
  • Теперь сервер проверяет новую квитанцию ​​и должен / мог удалить область SUBSCRIPTION_EXPIRED и заменить ее ничем или PREMIUM, независимо от того, что мне даст результат проверки квитанции. На этом этапе access_token уже известен клиенту и хранится там.
  • Любые дальнейшие запросы к серверу с данным токеном доступа будут использовать область; при новом входе в систему я использую новую квитанцию ​​и должен быть в состоянии немедленно принять решение.

0 ответов

Другие вопросы по тегам