2017-01-05 24 views
0

注:同様の質問はAuth0 with Angularまたはseveral years out of dateのいずれかを扱い、以前のバージョンを参照してください。Auth0アプリケーションはApache WebAppの元のURLにリダイレクトされます

私たちは、Auth0を使用して、Apacheで実行されるアプリケーショングループの認証をmod_auth_openidcで提供しています。 Auth0設定で定義

<location /app1/> 
    AuthType openid-connect 
    Require claim valid_app1:true 
</Location> 

<location /app2/> 
    AuthType openid-connect 
    Require claim valid_app2:true 
</Location> 

ユーザメタデータ(valid_app1又はvalid_app2、など)かどうかを定義:

のみカスタマイズmod_auth_openidcは、ユーザが特定のアプリケーションに対してかを介したアクセスを有するかどうかをチェックするように構成されていることですユーザは、アプリケーションのいずれかにアクセスしようとしたとき

は現在、ユーザーは正しくAuth0のログインページにをリダイレクトされwebsite.com/app1またはwebsite.com/app2に位置アプリケーションなどにアクセスすることができますd は、そのアプリケーションにアクセスできないユーザーを正しく拒否します。しかしログインが成功に、ユーザーが(auth_openidc.confでAuth0設定とOIDCRedirectURIの最初のコールバックとして定義され、例えばwebsite.com/auth)コールバック・ページにリダイレクトされ

とバックアプリケーションにないユーザーが試みロードする。

Auth0をApacheで設定するにはどうしたらいいですか?最初にロードしようとしたアプリケーションのURLで、ユーザーはコールバックURLではありません。

グッド

  • website.com/app1 > AUTH0 login > website.com/app1
  • website.com/app2 > AUTH0 login > website.com/app2

悪い

  • website.com/app1 > AUTH0 login > website.com/auth
あなたは、いくつかの異なるアプローチでこれを達成することができます

答えて

0

    あなたは/複数のコールバックを登録Auth0で、クライアントアプリケーションの設定の中にURLをリダイレクトして、各アプリケーションが伝えることで、ログイン・プロセスを開始することができます
  1. Auth0に関連付けられたリダイレクトURL
  2. Auth0で複数のクライアントアプリケーションとしてアプリケーションを表すことができ、それぞれに特定のコールバックリダイレクトURLがあり、各アプリケーションがそのリダイレクトURLでプロセスを開始します。
  3. 引き続き同じコールバックURLを使用して、最後の宛先に2回目のリダイレクトを行うことができます。これは、ユーザがOAuth状態パラメータを利用して達成できるプロセスを開始した場所を知ることを意味します(このパラメータはCSRF保護にも使用する必要があります。Using the State Parameterを参照)。

オプション1.2.はそれがちょうど2つの異なる方法を持って望んでいる単一のアプリケーションの場合、我々は概念的に異なるアプリケーションの話を通常場合は、オプションで行くとなり、非常に似ていますコールバックを処理するには、のオプションを使用します。

最後に、オプションは、最初のオプションと同様のことが可能です。つまり、ログイン後に同じアプリケーションが条件付きで別の場所にユーザーをリダイレクトできますが、追加のリダイレクトURLを登録する必要はありませんAuth0側。これは、コールバックURLでログインを処理した後にユーザーがどこに行くかを決定するアプリケーション自体です。

+0

素晴らしい回答ありがとうございます。 **オプション1 **に関しては、すでにAuth0クライアントアプリケーションに複数のコールバックURLを登録しています。デフォルトのリダイレクト場所として使用されるApacheの 'auth_openidc.conf'の' OIDCRedirectURI'パラメータのために 'master'リダイレクトURIが設定されています。 'OIDCRedirectURI'とは異なる2番目のコールバックURL(Auth0で登録)の使用を指定するにはどうすればよいですか? –

+0

私はApache OIDCモジュールを使ったことはありませんが、各 'location'プリミティブ内に' OIDCRedirectURI'を設定しようとしましたか?現在のアプリケーションパスに基づいてデフォルトのURIを上書きすることができます。 –

関連する問題