3

Android アプリで認証後にユーザーをログイン状態に保つにはどうすればよいですか? 私はいくつかの読書をしましたが、率直に言ってセッションに関しては少し経験がありませんが、ユーザーが資格情報をサーバーに送信して認証された後、サーバーはセッション ID を返信するようです。このセッション ID は、ユーザーの Android デバイスのどこかに保存されていると思います。

セッション ID を保存するには、sharedPreferences、sqlite db、またはローカル ストレージを使用する必要がありますか? sqlite dbまたはローカルストレージは単一のアプリにのみ制限されるのに対し、共有設定はやや安全ではないことを読みました.

また、この情報を送受信するためにサーバーに HTTP 要求を行う必要がありますか、それともソケット接続を介して行うことができますか。最終的には、ソケットを使用するマルチプレイヤー ゲームを作成したいと考えていますが、ログインなどの特定の機能は必ずしもソケットを介する必要はないと思いますが、ゲーム開発者が通常これを行う標準または通常の方法があるかどうかはわかりません。

4

1 に答える 1

0

この情報を送受信するためにサーバーに HTTP 要求を行う必要がありますか?

認証をHTTP経由で送信したいだけではないと思います。人々があなたのパッケージを傍受し、平文でデータを読み返す可能性があります。Android アプリケーションが認証するサーバーに API がある場合は、HTTPS を使用して通信することをお勧めします。

セッション ID を保存するには、sharedPreferences、sqlite db、またはローカル ストレージを使用する必要がありますか?

私自身、「MODE_PRIVATE」でsharedPreferencesを使用してIDを保存しています。sharedPreferences ファイルを作成できるさまざまなモードがあります。プライベート モードとは、同じユーザー ID を持つアプリケーションのみがアクセスできることを意味します。ここでは、すべてのモードについて説明します。

http://developer.android.com/reference/android/content/Context.html#getSharedPreferences%28java.lang.String,%20int%29

Android デバイスにパスワードとユーザーを保存する場合は、データベースを使用することをお勧めします。「塩とコショウ」でパスワードを保護してください。

http://barkingiguana.com/2009/08/03/securing-passwords-with-salt-pepper-and-rainbows/

ゲーム開発者が通常これを行う標準または通常の方法があるかどうかはわかりません

この質問についてはお答えできませんが、調査を行えば解決できると思います ;)。

于 2013-04-11T15:27:07.787 に答える