2012-04-20 7 views
0

私のアプリケーションで私は私のDjangoのウェブサイトと通信する必要があります。いくつかのリソースは認証を必要とするので、私はユーザーのログインが必要です。iOSアプリケーションからDjangoアカウントにログインするにはどうすればいいですか?

しかし、これはブラウザやウェブビューでは起こりません。私はObject-Cを使ってログインリクエストを発行し、レスポンスを処理する必要があります - 基本的には私が推測するセッションIDを保存します。

Webサーバー側で、Djangoでこれをどのように行う必要がありますか?それをスタンドアロンで表示し、JSONを返すのはどうでしょうか?新しく生成されたセッションIDを取得するにはどうすればよいですか?

答えて

2

私はセッションIDを取得しません。私はユーザーにログインすると、Webインターフェイスに合わせて調整されていると思います。私はあなたのアプリで必要なリソースを提供するAPIを作成します。 http://en.wikipedia.org/wiki/Representational_state_transfer認証はおそらく、プライベート/公開鍵のペアまたは他のよく似た一般的なapi認証システムに最適です。

0

認証システムを変更する必要はありません。ログインフォームが小さい画面で使用できるかどうかを確認するために保存してください。 Cookieはウェブ上と同じようにiOSでも同じように動作します。あなたのログインフォームでモーダルUIWebViewを表示することができます。ユーザーがログインした後、おそらくあなたはセッションCookieを設定しています。 Cookieが一致するドメインへの後続の要求を行う場合は、Cookieを送信する必要があります。クライアントが受け取ることを期待するコンテンツタイプを指定するHTTP 'Accept'ヘッダーフィールドを調べたいとします。あなたのコントローラー(ビュー?)では、 'Accept'ヘッダーをチェックし、適切なコンテンツタイプ、おそらく 'application/json'(またはあなたのAPIのカスタムタイプ)を返したいでしょう。

関連する問題