0

はこのシナリオを検討してもらう:SSOは、ユーザの詳細

私は例えばのために、SSOは、新しいブラウザウィンドウで保護されてAngularJSベースのUIのURLをヒット。 https://somedev.domain.com

これにより、上記のURLにGETリクエストが送信されます。さて、ブラウザは、私がブラウザ上にクッキーを設定することにより、https://sso.domain.com応答の成功についての詳細を、入力し、ユーザの詳細情報を送り返すhttps://sso.domain.com

https://somedev.domain.comから理由リダイレクト、認証用のユーザ名とパスワードの入力を求められますレスポンスヘッダーにユーザー名のようなログインしたユーザーとUIページが読み込まれます。

このレスポンスを傍受してログインしたユーザーの詳細を取得するには、AngularJSにはの方法がありますか?

PS。 $ cookieを使用して、設定されたクッキーにアクセスできます。

答えて

1

これは、SSOに使用するテクノロジによって大きく異なります。 OAuthには、ユーザー情報を取得するために認証サービスにアクセスするために使用できるキーが元のページに返されるメカニズムがあります。

ご使用の環境に関する知識が限られているため、普遍的に受け入れられる解決策はangular-cookies.jsモジュールを利用し、$cookiesを使用して直接クッキーにアクセスすることです。私は、クッキーにはユーザー情報が含まれていないと仮定しています。これらはセッション識別子であることがよくありますが、Cookieセッション識別子を使用してSSOサーバーに要求し、ユーザー情報を要求できます。

SSOサーバーはドメインに一般的なCookieを生成する必要があります。つまり、サブドメインを指定していないことに注意してください。

+1

Yup!あなたは正しいです、私たちはOAMを使用していますbtw –