2011-08-08 12 views
3

私は、ユーザーが一度ログインしたとき(初めてアプリケーションを開くとき)にiphoneアプリケーションを作成しているので、再度ログインする必要はありません)。アプリケーションは、次に開くときに自動的にログに記録されます。しかし、アプリケーションは、Webサーバーへの要求の束を作る。セッション管理とワンタイムユーザーログイン - iphone

サーバーがセッショントークンを発行する最も良い方法は何ですか?セッショントークンはどのくらい有効であるべきですか?安全なセッショントークンを提供しながら、ユーザーが再びログインする必要がないことを保証する方法を教えてください。

1つのアプローチは、ユーザーが初めてログインしたときにサーバーがユーザーにトークンを発行し、そのトークンを永続化させることです。しかし、それは安全とは思われません。

ありがとうございました!

答えて

1

サーバがセッショントークンを発行する最も良い方法は何ですか?

これを行う1つの方法はOAuthです。クッキーよりも複雑ですが、より多くの機能があります。
トークンは各アプリケーションに付与され、サーバーのページからユーザーが取り消すことができます。このトークンは永続的でも一時的でもかまいません必要なセキュリティのレベルに応じて、プレーンテキストまたはiPhoneのキーチェーン内に保存することができます。サーバーとクライアントの実装のためのオープンなコードがあります。もう1つの利点は、クライアントが自分のTwitter/Facebook/...アカウントを使用してサービスにログインできるため、サイトに登録する必要がないことです。

+0

私は自分の認証システムを使用して自分のOAuthサーバーを実行する必要はありません –

3

一般的に、セッションはすでにセッションCookieで処理されています。第三者にサービスを提供する予定がない限り、基本的なHTTP認証の他に何かをするのはちょっと残念だと思います。私は間違いなくすべての接続要求をhttps接続経由で送信します。

iPhone側でセッションを維持する限り、ユーザーとパスワードをキーチェーンに保存してから、再度ログインする必要があるときに自動的に検索してサーバーに送信できます。ユーザーが再度ログインするどのくらいの頻度でセッションをサーバーの最後に置くかは、あなた次第です。