81

私はRails APIを使用して単純な API を構築していますが、ここで正しい軌道に乗っていることを確認したいと考えています。私はdeviseを使用してログインを処理しtoken_authenticatableていますが、リクエストごとに送信する必要があるAPIキーを生成するDeviseのオプションを使用することにしました。

私は API をバックボーン/マリオネット フロント エンドとペアにしていますが、通常、セッションをどのように処理すればよいか疑問に思っています。私が最初に考えたのは、API キーをローカル ストレージまたは Cookie に保存し、ページの読み込み時に取得することでしたが、API キーをそのように保存することについて、セキュリティの観点から気になりました。ローカル ストレージ/Cookie を参照するか、通過する要求をスニッフィングして API キーを取得し、それを使用してそのユーザーを無期限に偽装するのは簡単ではないでしょうか? 現在、ログインごとにAPIキーをリセットしていますが、それでも頻繁に発生するようです.任意のデバイスにログインするたびに、他のすべてのデバイスでログアウトすることになります. このリセットをやめることができれば、ユーザビリティの観点から改善されると思います.

私はここで完全に間違っている可能性があります (そして私が間違っていることを願っています)。この方法で認証することが確実に安全であるかどうかを誰かが説明できますか? 全体として、頻繁に再認証を強制することなく、ユーザーが API アクセスに「サインイン」した状態を安全に維持できる方法を探しています。

4

3 に答える 3