2012-03-09 10 views
0

こんにちは、皆さん。サーバー側でセッショントークンを制御するiPhoneネイティブアプリケーションを開発する必要はありますか?

私は自分のサーバー側Webサービスと通信できるiPhoneネイティブアプリ(webviewを含む)を開発しています。
システムには、ユーザーがログイン/ログアウトできるユーザー管理モジュールがあり、自分自身の情報を管理します。

ウェブサイトなどの通常のケースでは、セキュリティを考慮するにはトークンなどが必要です。
iPhoneのネイティブアプリはどうですか?私のWebサービスはアプリケーションからしかアクセスできないので、十分に安全だと思うので、セッショントークンの方法で実装する必要もありますか?

ありがとうございます。

答えて

2

トークンなしでどのように識別/認証を行いますか?

この認証ペア+ device_idが(SSLを使用して)サーバーに送信されると、認証サーバーがセッショントークンを返す場合、セッションは時間によって無制限になる可能性があります。あなた)をこのdevice_idに追加します。ログインとトークンは、プログラムのどこかに保存されます(デフォルトのキー/値の保存など)。パスワードはプログラム内のどこにも決して保存しないでください。

ユーザーがアプリを起動すると、アプリはLogin、token、device_idをサーバーに送信し、サーバーはOK + session_keyまたはNOKを確認します。 NOKの場合は、アプリのストレージからログインとトークンを削除し、再度ログインフォームを表示します。応答がOKだった場合 - HTTPリクエスト+セッションキーを送信し、サーバーから返信されます。何かそんなこと...

PS:私はそれがウェブの経験はあまりないと思う。

+0

HI、@OgreSwamp、ご返信ありがとうございます。実際、私は各ユーザの識別/認証にunameとpwdを使用しています。私はサーバー側でセッショントークンを取得することができますが、私はそれが私のアプリケーションからのみアクセスすることができたと思っているようにユーザーをしませんでした。ところで、リリース前にSSL接続に変更することを検討しています。ありがとう。 –

+0

1)毎回ログイン/パスワードを要求していますか? 2)パスワードを入力したユーザーと同じユーザーであることをどのように検証していますか? 3)ブラウザからアプリにHTTPリクエストを送信するのを止めますか? アプリからのみウェブサービスへのアクセスを提供しても、**攻撃に対する保護**はありません。 – OgreSwamp

+0

1)A:一度ログアウトすると、再度ログインしてアプリを使用する必要があります。 2)A:私は、同じユーザーが自分のものであることだけを知っているので、同じユーザーを検証しません。 3)A:私はサーバ側でアプリからしかアクセスできないが、iPhoneの内蔵サファリを含むブラウザでは何もしなかった。ありがとう。 –