2013-03-24 11 views
7

Ember.jsとSPAについて勉強し始めました。私はASP.Net MVC/C#/ Razorの背景を持っています。ember.jsアプリケーションでの認証の処理方法

認証はどのように機能しますか?通常のウェブサイトでは、私はOauthプロバイダを使用し、認証された情報が戻ったらフォーム認証チケットを作成します。

私は、認証をカバーする良いツット/記事を見つけませんでした...特にASP.Net。

私はember.jsを実際に掘り起こすのを待つことができませんが、これは私にとって最初から重要であることを知っています。

ありがとうございます!

+1

現在non-jsにはどのようにログインしていますか?メンバーシップAPI? –

+0

私はフレームワークを学ぶために、最初からemberアプリケーションを開始しています。 asp.net MVCの背景から来て、私はそのプラットフォーム上でemberを使用することを好むだろう。私の以前のアプリでは、oauth認証情報を取り込み、基本的にログインしてformsauthチケットを作成しました。 – Chaddeus

+1

最初の提案は、oauth認証のJSから呼び出すことができるアクションメソッドを作成することです。 2番目の提案は、Web APIを使用します。 –

答えて

4

一般に、Emberアプリでの認証は、ほとんどのWebアプリケーションでの認証とあまり違いはありません。セッションクッキーを使用して、サーバーにログインしているユーザーを識別し、セッションがまだ認証されていない場合はログインUIを表示します。

伝統的なWebアプリケーションでは、&という潜在的なリダイレクトがページリクエストで発生する可能性があります。 Emberアプリケーションでは、APIリクエスト(通常はルータ内から送信されます)と、ユーザーがログインしていないことを示すAPIレスポンスの場合は、transitionToユーザーにユーザー名/パスワード形式を示すlogInルートを指定します。 OAuthを使用している場合は、同様のパターンになりますが、代わりにユーザーがその時点でOAuthフローを開始できるようにします。

代替は

他のパターンは、あなたが最初のエンバーアプリのindex.htmlページをロードする際に認証を検証する、またはあなたのAPIは、セッションがあることを報告したときにページ内の伝統的なログにエンバーアプリの外にリダイレクトするなどが近づくとログインしていません。

ノート

関係なく、あなたのアプローチの、あなたのサーバーAPIのそれぞれは、ユーザーが認証および承認されていることを確認することが重要です。また、一般的には、アクセス権に関係なく、すべてのユーザーにすべてのJSコードとHandlebarsテンプレートを送信することになります。機密情報がJSやテンプレートには存在しないので、これは通常問題ではありませんが、留意すべきことです。

更新:

私は、サードパーティのサービスを含む認証に対処するためのいくつかの単純なプリミティブを提供するために、新しい[torii][1]ライブラリーのファンになっています。

+0

ルークありがとう、徹底的な答えをいただきありがとうございます。 – Chaddeus

関連する問題