2016-09-09 13 views
0

ウェブサイトはwww.website.comでホストされており、別のウェブアプリケーションはwww.app.website.comでホストされています。Cookie認証と複数のドメイン

www.website.comは匿名ユーザーが利用でき、Wordpressを使用して作成されています。

一方、www.app.website.comは、Cookie認証に依存するHtml5 + AngularJs + C#Web APIです。

現在のシナリオ

  • ユーザーの訪問www.website.comとクリック "ログイン" 彼らはその後、認証された場合
  • ブラウザはwww.app.website.com
  • にリダイレクトwww.app.website.comが認証されたユーザページにリダイレクトする
  • それ以外の場合は、ログインページにリダイレクトする

質問

  • ユーザーが訪問www.website.com
  • それらが認証されている場合、すなわち、有効なクッキーを持って、www.website.comはwww.app.website.comにそれらをリダイレクトする必要があります
  • 彼らは私の知る限り、我々は、クロスドメインのクッキーを発行することができますが、セキュリティ上の理由から、我々はそれらにアクセスJavascriptを防ぐ必要があります理解して「ログイン」

を押すまでそうしないと、彼らはwww.website.comに留まります。

これを念頭に置いて、最適なリダイレクト戦略は何ですか?

編集: 発行された認証CookieはHttpOnlyです。

+0

".website.com"でクッキーを試しましたか?ディスカッションはこちら:http://stackoverflow.com/questions/315132/how-do-i-use-cookies-across-two-different-domains – mkysoft

+0

ありがとうmkysoft!それは質問の一部(複数のドメインのためのクッキーを発行)を解決し、残りの部分(リダイレクト)はまだ開いています。 – JCS

+0

js navigatingを使用することができます:window.location = "anothersite.com" – mkysoft

答えて

0

js:check cookie if cookie exists を使用してクッキーを確認できます。Wordpressは、ログインしたユーザーの名前がwordpress_logged_in_xxxxxのCookieを使用します。 jsでCookieを検出すると、サイトをリダイレクトします。

+0

クッキーがHttpOnlyの場合はどうなりますか?確かに彼らはjavascriptからアクセスすることはできませんか? – JCS

+0

@ JCSの正しい方法(httpまたはhttpsで実行)は、このための独自のプラグインを構築しています。また既にオープン認証があります。あなたのシステムでのみ作業するための少しの変更を加えることができます:https://wordpress.org/plugins/wp-oauth/ – mkysoft

関連する問題