1

これを行う方法について漠然とした考えがあります。

私のアプリは Django で記述された API を使用していますが、クライアントからは Twitter でのみ認証を行うように要求されました。問題は、Twitter 経由で iPhone アプリにログインした後、どうすれば Django のユーザー モデルを操作できるようになるかということです。

ちなみに、Djangoではdjango-tastypie、iOSではASIHTTPRequestを使っています。

ありがとう!

4

1 に答える 1

1

イガム、

アプリ内 (およびサイト) で Facebook Connect/Graph を使用しており、Piston を使用して Django サイトに API をラップしています。私は実際に TastyPie に行くことを検討していますが、現時点ではリファクタリングする時間がありません。

FB を導入したときにも同様の問題に直面したため、すべての API 呼び出しに API トークンを使用し、ログインの成功時にそのトークンを発行することにしました。 .)

現在、ユーザーは username/pw または FB のいずれかでアプリにログインできます。ログインは、プロファイル json を返す HTTPS 経由の「GET」で構成されます (最初に API トークンを返し、アプリにプロファイル json の別の呼び出しを行わせることもできますが、モバイル デバイスや低速ネットワークを扱う場合は、ネットワーク呼び出しを減らしたいと考えています。 )。

トークンはローカルに保存され、サーバーがそれを取り消すことを決定するまで機能します (有効期限が切れる、Web サイトでユーザーが手動で行うなど)。

したがって、私の 'GET /profile' は、Django のユーザー名/パスワード、Facebook の fbtoken、twtoken などの認証メカニズムに基づいて、さまざまな URL パラメーターをサポートするだけです。サーバー側では、Django を使用してサードパーティ API で外部トークンを検証します。これは、電子メール アドレスなどの FB プロファイル データを取得し、Django モデルに保存するためにも使用されます。

iOS5 での Twitter の統合については見ていませんが、認証トークンを取得できる限り、同様のことができます。

于 2011-10-10T06:09:42.357 に答える