前提
Monacaを利用してハイブリッドアプリを作成しています。
普段Webサイト・システム構築を生業としていますが、ハイブリッドアプリの作成に関しては初です。
あくまでも現時点では練習として行っています。
実装したい処理についてですが、ハイブリッドアプリ側からのログインとセッションの維持です。
ネイティブアプリ(Twitter、Instagram、LINE等)と同じように、
一度ログインしてしまえば自主的にログアウトしない限りログイン状態が維持される状態を作ろうとしています。
▼参考記事
HTML5のLocal Storageを使ってはいけない(翻訳)
ハイブリッドアプリの場合、PHPのようなサーバーサイド言語は使用できないので、
通常の会員制サイト等を作るような書き方ができません。
そこでLocal Storageに目を付けました。
上記記事にある通り、会員制Webサイトを作る場合Local Storageにセッション情報を保存するのはセキュリティの観点からタブーということは理解しています。
しかし、「ハイブリッドアプリの場合はブラウザのように検証ツール等がないため利用者はソースコードの確認等ができない」と私は認識しています。
質問①
「ハイブリッドアプリの場合はブラウザのように検証ツール等がないため利用者はソースコードの確認等ができない」
→この認識は間違っていますか?
質問②
- ハイブリッドアプリでログイン用IDとログイン用パスワードを入力
- ajax(非同期通信)で入力した値をWeb上([https://test.com/_auth.php]等)にPOST送信
- IDとパスワードが一致した場合セッションキーのようなものを発行
- 発行したセッションキーをハイブリッドアプリに送り返す
- ハイブリッドアプリ側で受け取ったセッションキーをLocal Storageに保存
- Local Storageにセッションキーが存在する場合はログイン状態継続
- 自主的にログアウトした場合Local Storageをクリア
こういった実装をしようと思っています。
この実装においてLocal Storageにセッションキーを保存することで発生するデメリットはありますか?
補足情報(FW/ツールのバージョンなど)
Monaca
PHP 8.1
※サーバーはレンタルサーバーです
参考:HTML5のLocal Storageを使ってはいけない(翻訳)
参考:[Monaca] ストレージの利用について
あなたの回答
tips
プレビュー