2016-07-04 5 views
0

私は最終的に既存の(Ember以外の)アプリケーションを置き換え、追加の機能を提供するアプリケーションを開発しようとしています。認証を使用してカスタムAPI呼び出しを作成する

新しいアプリケーションでまだ実装されていないものについては、後者のシングルサインオン機能を使用して、既存のものにユーザーをリダイレクトする必要があります。私が想像ワークフローはこれです:

  1. ユーザーは
  2. がリンクやボタンをクリックする新しいアプリが生成されたSSOトークン
  3. 新しいアプリを返すエンドポイントへのAPI呼び出しを行い、新たな(エンバー)アプリにログインSSOトークンを含むリンクは、

私は、ユーザーが含まれているJSONウェブトークンを使用して、ユーザー固有の情報を返すAPI呼び出しのためのユーザーを認証するために燃えさし-シンプル-AUTHを使用します(新規または同じウィンドウで)それをオープンid。

上記の手順2では、API呼び出しにそのトークンを含める必要がありますが、私は紛失しています。どのように呼び出しを行いますか。このためにEmber.Routeが必要ですか(AuthenticatedRouteMixinに届く)私はSSOトークンが私のモデルの一部であるとは考えていないので、そうは思わしくない。セッションのトークンを何らかの形で取得し、それを直接ajax呼び出しに含めることはできますか?したほうがいい?

答えて

1

ember-simple-authは、その情報にアクセスできるSessionServiceを提供します。

ember-ajaxを使用して実際のリクエストを行い、ajaxサービスをオーバーライドしてセッションサービスauthorizeメソッドを呼び出すことをお勧めします。

次に、その要求を承認するためにオーソライザを実装する必要があります。

ディテールの実装は、オーソライザと、要求にトークンを含める方法によって異なります。ヘッダー、照会パラメーター、または本文として指定します。

+0

ありがとう:-) ember-ajaxは欠けていた要素です。私は明示的に 'authorize'メソッドを呼び出すのではなく、' headers ['authorization'] = 'Bearer' + this.get( 'session.session.content.authenticated.token') 'を設定しました。少なくともそれは働く。 –

関連する問題