私はember.jsでドキュメントと投稿を検索し、Railsでember.jsを使用していました。
RailsがAPIを提供し、ember.jsがUIを処理するというアイデアは気に入っていますが、ユーザー認証をプラグインする方法を考えていました。
たとえば、deviseを使用している場合、ember.jsでどのように使用しますか?
任意のポインタをいただければ幸いです。
私はember.jsでドキュメントと投稿を検索し、Railsでember.jsを使用していました。
RailsがAPIを提供し、ember.jsがUIを処理するというアイデアは気に入っていますが、ユーザー認証をプラグインする方法を考えていました。
たとえば、deviseを使用している場合、ember.jsでどのように使用しますか?
任意のポインタをいただければ幸いです。
アップデート2
ハイブリッドレールビュー+devise-variable-scopedemberアプリを使用するこの新しいgithubサンプルアプリをチェックしてください。このアプリはember1.0.rc.1+ ember-data rev 11で実行され、has_many関係を維持します。
まだ準備ができていないが、多くの可能性を示しているこのトークン認証プロジェクトをチェックしてください。これは、単純なWebベースのRailsビューデバイス認証とは対照的に、クライアント側でユーザーを認証するモバイルクライアントAPIに最適です。
どちらも、興味深く議論の余地のあるユースケースを提供します。これが将来どこに行くのか楽しみです。
アップデート1
Deviseを使用した超基本的なユーザー認証をDgebのember-dataサンプルアプリに追加しました:https ://github.com/dgeb/ember_data_example/pull/17 。Railsコントローラーを使用して認証の作成とスコープを設定し、current_user user_idを新しい連絡先レコードの作成に追加し、スコープ付きAMSデータをcurrent_user.idを介してemberアプリにフィードしました。
私はしばらくの間これとまったく同じ質問をしました、そして私が見つけた唯一のオープンソースの残り火のサンプルアプリはユーザー認証を持ち、レールを使用していますはhttps://github.com/carvil/dash-itです。彼はRails-Deviseログインビューを使用して、ユーザーがログインするとcurrent_user情報をember.jsアプリに渡します。
他の多くの人がDevisetoken_authenticatableを使用して、Railsビューを完全に削除し、トークンを介して厳密にEmberアプリのユーザーを認証していることを知っています。これはおそらく最善の方法ですが、私自身はまだアプリに実装しようとはしておらず、このルートをたどるオープンソースアプリも見つかりませんでした。
Emberの主任開発者の1人であるTomDaleは、特定のユーザー認証ソリューションについてはまだ「最恵国待遇」のステータスを持っていないと述べています。したがって、特定のソリューションを公式にサポートするか、フレームワークに組み込むまでは、私はmDeviseトークンが最善の方法であると仮定します。
うまくいけば、私よりもEmber /ユーザー認証の経験が豊富な人が、Emberのステートマシンを使用し、トークンベースのユーザー認証と組み合わせてルーティングすることで、https://github.com/carvil/dash-itよりも優れたソリューションを紹介できます。
ember-authを確認してください。これはember.jsのトークン認証を処理し、rails / devise/emberのデモとチュートリアルもあります。ember-authは、ember.js/railsアプリを認証するためにこれまで見てきた中で最良のアプローチです。
これまでのところ、Deviseトークン認証を使用したEmber-authに基づく基本的なEmberアプリケーションと、ここにあり、ここにあるGoogleとLinkedInのOauthの例を実装しました:https ://starter-app.herokuapp.com
私はRORプラットフォームでember.js認証を使用するプロジェクトに取り組んでいます。githubで以下のプロジェクトリンクを確認してください。
1つのオプション(すべての状況で常に理想的とは限りません)は、レンダリングするためにDeviseでアクティブなセッションを必要とするビューでEmberアプリを初期化することです。
Railsアプリの認証済みコントローラーの下にあるビューを除いて、emberアプリのjs/cssマニフェストをロードパスから外しておくことでこれを行うことがよくあります。
また、データを取り込むRailsコントローラーにDevise認証チェックを適用することで、Emberアプリにデータが読み込まれないように保護することもできます。