OAuth2.0で認証ログイン成功したセッションの有効期限はどのくらいに設定すべきか?

アプリを起動し、セッション情報が無い場合はOAuthを使ってログイン認証を行いますが

このセッションの有効期限はどのくらいにするのがよいでしょうか?

24hourだと毎日ログインしなければならないのでレジ操作者がわずらわしいし

1yearとかだと長過ぎるような気もします

(問題ないのであれば無期限でもいいのかも)

スマレジとしての指針をお願いします

ベストアンサー

  • @木幡 秀一

    スマレジ・アプリマーケットとしてログインセッションの有効期限はこうあるべき。というルールや指針は明文化されておりません。

    ですので、自身の作成しているアプリの使い方に応じて適切な有効期限を設定していただければと思います。

    一般的にログインセッションは短ければ短いほどセキュリティ的に良いものですが、それですとおっしゃるとおり、ユーザビリティが下がってしまいます。

    そのアプリがどのように使用され、どのくらいの使用頻度になるのかあまり見えていないのでなんとも言い難いですが、Amazon / Wordpressなどでは2週間、金融系ですと30分。WEBアプリ用FWだと2時間(Laravelのセッション有効期限のデフォルト値など)です。TwitterなどSNSではほぼ無期限という情報も小耳に挟んだことがございます。

    定期的にユーザー情報APIをコールしていただいて擬似的にログインを維持し続けるという手法も考えられます。その場合、リフレッシュトークンの有効期限が30日間ですので、この間隔が一つの指標となるかもしれません。


    回答になっていますでしょうか?的外れであれば申し訳ありません。

    他に何か疑問点がありましたらコメントくださいませ。

答え