現在、Rails バックエンドを使用して iPhone アプリを作成しています。私は iphone で facebook のシングル サインオン (SSO) のみを使用しており、認証はクライアント側でうまく機能します。バックエンドとしてdevise on railsを使用しています。
注私は、すでに保護された Web サービスにもアクセスする iOS アプリでの Facebook 認証の設計について調べました。
devise には token_authenticable と呼ばれるものがあり、これは基本的にそのスレッドのステップ 5 で説明されている「チケット」です。これが私が見る現在の流れです
- ユーザーが電話で facebook SSO にサインオンする
- ユーザーは { access_token: X } を使用して myserver.com/sessions/fb_sso を呼び出します
- サーバー側 (SessionsController#fb_sso で、access_token を使用して facebook への API 呼び出しを行います)
- access_token が有効な場合、ユーザーが db に存在するかどうかを確認します。ユーザーが存在しない場合は、新しいユーザーを作成します
- これで、{ user_id: X, devise_auth_token: Y } を 1 の呼び出しに戻すことができます)
これはかなり簡単です。ただし、いくつか質問があります。
- devise_auth_token を使用すると、devise から sign_in("user", resource) を呼び出す必要がなくなるということですか? (ここにありますhttp://jessewolgamott.com/blog/2012/01/19/the-one-with-a-json-api-login-using-devise/ )
- 3 ~ 4 のコードを配置するのに最適な場所はどこですか?
- このトピックについては、Google であまり見つけられないようです。非常に一般的なプロセスのチュートリアルが少ないのはなぜですか? 露骨に明らかな何かが欠けていますか?