一般に、Emberアプリでの認証は、ほとんどのWebアプリケーションでの認証とあまり違いはありません。セッションクッキーを使用して、サーバーにログインしているユーザーを識別し、セッションがまだ認証されていない場合はログインUIを表示します。
伝統的なWebアプリケーションでは、&という潜在的なリダイレクトがページリクエストで発生する可能性があります。 Emberアプリケーションでは、APIリクエスト(通常はルータ内から送信されます)と、ユーザーがログインしていないことを示すAPIレスポンスの場合は、transitionToユーザーにユーザー名/パスワード形式を示すlogInルートを指定します。 OAuthを使用している場合は、同様のパターンになりますが、代わりにユーザーがその時点でOAuthフローを開始できるようにします。
代替は
他のパターンは、あなたが最初のエンバーアプリのindex.htmlページをロードする際に認証を検証する、またはあなたのAPIは、セッションがあることを報告したときにページ内の伝統的なログにエンバーアプリの外にリダイレクトするなどが近づくとログインしていません。
ノート
関係なく、あなたのアプローチの、あなたのサーバーAPIのそれぞれは、ユーザーが認証および承認されていることを確認することが重要です。また、一般的には、アクセス権に関係なく、すべてのユーザーにすべてのJSコードとHandlebarsテンプレートを送信することになります。機密情報がJSやテンプレートには存在しないので、これは通常問題ではありませんが、留意すべきことです。
更新:
私は、サードパーティのサービスを含む認証に対処するためのいくつかの単純なプリミティブを提供するために、新しい[torii][1]
ライブラリーのファンになっています。
現在non-jsにはどのようにログインしていますか?メンバーシップAPI? –
私はフレームワークを学ぶために、最初からemberアプリケーションを開始しています。 asp.net MVCの背景から来て、私はそのプラットフォーム上でemberを使用することを好むだろう。私の以前のアプリでは、oauth認証情報を取り込み、基本的にログインしてformsauthチケットを作成しました。 – Chaddeus
最初の提案は、oauth認証のJSから呼び出すことができるアクションメソッドを作成することです。 2番目の提案は、Web APIを使用します。 –