私たちの API は、セッションの有効期限 (30 分間の非アクティブ状態) を持つユーザー認証コードを返します。したがって、認証トークンを使用して API 呼び出しを行うと、セッションは呼び出し時から 30 分に更新されます。
非アクティブ状態が 30 分間続くと、API はトークンの有効期限が切れたことを示すエラーを返します。この時点で、新しい認証トークンをリクエストする必要があります。
ただし、これを行うための明白な方法 (ユーザーにログイン画面を表示し、再度ログインさせる) は、アプリの一部の機能の途中でユーザーを切断することを意味します。
たとえば、プロセスの最後に 1 つの API 呼び出し全体を集約して送信するオプションと入力を備えたさまざまなビュー コントローラーがあります。ユーザーがこれらの入力とビューに入力している間にサーバーでセッションが期限切れになると、API 呼び出しが行われたときにログアウトされ、これらのビューでの進行状況が失われます。
これには 2 つの回避策があります。
アプリでタイマーを設定して、アプリで 30 分間非アクティブになった後にユーザーが確実にログアウトされるようにします。これは、一連の入力中にログアウトされないことを意味しますが、これにより問題が発生します。独自のタイマーを実行している場合でも、サーバー API の有効期限が切れる可能性があります。したがって、これは機能しません。
約 10 秒ごとにサーバーにポーリングして、API 認証トークンがまだ有効かどうかを尋ねます。これは、バッテリー、データ、およびあらゆる種類のものを消費します。このようなことを行うための合理的な方法ではありません。
誰にもアイデアはありますか?
ありがとうトム