要件
ユーザー エクスペリエンスを 2 つのアプリに分割する必要があります。
- ダウンロードしたネイティブ アプリ
- デバイスのデフォルト ブラウザ
ユーザーは、ダウンロードしたアプリにログインすることから始めます (ユーザー名/パスワード)。ある時点で、ユーザーはブラウザー タブを起動する [続行] ボタンを押します。ユーザーのセッションをブラウザーに保持して、別のログインを必要とせずにパーソナライズされたコンテンツを表示できるようにする必要があります。
計画的な実装
最初に、アプリはhttps://site.com/login?username=USER&password=PASSを呼び出してユーザーをログインさせ ます
...そして、サーバーは一意のセッショントークンを生成して応答します...
{
"sessionToken": "SWORDFISH"
}
次に、ユーザーが [続行] ボタンを押すと、アプリは OS に URL を開くように指示します...
https://site.com/page.html?sessionToken=SWORDFISH
質問
十分に長く、十分に分散されたセッション トークンを使用して、これを安全と見なすことができますか?
ユーザーが site.com のさまざまなページをナビゲートするときに、セッション トークンを URL に保持するのは悪い習慣ですか?