私は、ページのタブに表示されるシンプルなFacebookアプリケーションを開発しています。私は、ユーザーを認証するための最良の方法が何であるか把握しようとしています。通常のページリダイレクトは正しくないと思われます。これはOmniAuth + Deviseがどのようにして行うのかを示しています。 JavaScript SDKの認証ダイアログでこの作業を行うにはどうすればよいですか?Facebookタブの開発時にOmniAuth + Deviseを使用する適切な方法は何ですか?
答えて
DMCSが言ったように、FB.getLoginStatus
とFB.login
は物事のJS側でそれを行います。あなたは、プロバイダ固有のロジックが自分の宝石に出て分割されている最新のomniauthを使用していると仮定すると、工夫/ omniauthでそれをフックについては、Facebookの-omniauth Githubのページがようにそれを説明する:
クライアントサイドのフローは、FacebookがCookieに入れた署名付きリクエストから認証コードを解析することをサポートしています。つまり、通常通りにFacebook Javascript SDKを使用することができ、ユーザーがFB.login successコールバックで認証されると、コールバックエンドポイント(デフォルトでは/ auth/facebook/callback)を押すだけです。
これはすごく簡単です。 FB.loginの後、単純なwindow.location.href = '/ auth/facebook/callback'がトリックを行います!
はい、Javascript SDKですばやく動作させることができます。ここでの例に従ってください:https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/とhttps://developers.facebook.com/docs/reference/javascript/FB.login/
私の質問は、これらのSDKコンポーネントをDeviseとOmniAuthに統合する方法です。 – bloudermilk
JavaScriptにトークンがあれば、それをOmniAuth/Deviseコードを実行するサーバーまでAJAXします。 – DMCS
これは概念的に私が考えたことです。既存のDeviseコントローラを使用できるかどうか、またはロジックを書き直す必要があるかどうかは不思議です。 – bloudermilk
- 1. OmniAuth Facebook with Devise
- 2. Devise Omniauth Facebookのリダイレクトフラッシュメッセージエラー
- 3. Devise、OmniAuth&Facebook - ユーザーにパスワードの編集を許可する方法
- 4. after_sign_in_path_for(リソース)devise + facebook omniauth
- 5. devise、omniauthを使用してリモートのレールアプリケーションにログインする方法
- 6. Facebookのタブをインタラクションで作成する現在の適切な方法は何ですか?
- 7. omniauthとdeviseでFacebookの名前を保存するには
- 8. 静的モードでAudioTrackを使用する適切な方法は何ですか?
- 9. swift 4でstartMonitoringSignificantLocationChangesを使用する適切な方法は何ですか?
- 10. DLLなしでlibcURLを使用する適切な方法は何ですか?
- 11. FB.Event.subscribeを処理する適切な方法は何ですか?
- 12. SwiftでAWSTaskオブジェクトを使用する適切な方法は何ですか?
- 13. MongoDBでApache Solrを使用する適切な方法は何ですか?
- 14. struct要素にmemsetを使用する適切な方法は何ですか?
- 15. Devise Omniauth、Googleアカウントをリンクする方法
- 16. オブジェクトにsコマンドを適用する適切な方法は何ですか?
- 17. Erlangをインデントする適切な方法は何ですか?
- 18. Facebook PHP SDKを使用して60日間のリビングアクセストークンを取得する適切な方法は何ですか?
- 19. Meteor + Blaze + ReactでcreateContainer()を使用する適切な方法は何ですか?
- 20. Angular4でサービスを使用する適切な方法は何ですか?
- 21. ファイアベースでウェブソケットを使用する適切な方法は何ですか?
- 22. プレイフレームワークでcoffeescriptを使用する適切な方法は何ですか?
- 23. 壁をUVマップする適切な方法は何ですか?
- 24. GUIを作成する適切な方法は何ですか
- 25. php-resqueをセットアップして使用する適切な方法は何ですか?
- 26. モンゴース集団を使用する適切な方法は何ですか?
- 27. コールバック関数event.currentTargetを使用する適切な方法は何ですか?
- 28. 入力タグを使用する適切な方法は何ですか?
- 29. CMSのロード時にJavaScript関数を開始する適切な方法は何ですか?
- 30. facebookトークンをクライアントからサーバーに発送するための適切な方法
不明なエラーが発生した場合は、コールバックコントローラで 'failure'メソッドを定義することができます。これは私がCSRFに起因するエラーを見つけるのを助けました - 私はこのomniauth-facebookバグ報告の助けを借りて解決しましたhttps://github.com/mkdynamic/omniauth-facebook/issues/73 –