2017-01-26 23 views
0

この質問が貧弱な場合は、私に許してください。それは誰の時間の無駄な場合私はそれを削除します。私はこれを実装していないので、私は盲目的に歩いています。これを実装した人が、私は何か仕事をする必要があります。SAMLでOktaで作業するためにSSLを使用してWebサイトを入手する方法

私たちはCentOSサーバー上のプレイフレームワークバージョン2.1.2からWebサイトを実行しています。私が "ps"を実行すると、プレイはhttpのポート9005とhttpsのための9004でリッスンしているのが分かります。

ウェブサイトにはOktaの認証が必要です(必要に応じてこれを示すJavaコードのスニペットを投稿する必要があります)。ユーザーはOktaからSAML経由で認証を受ける必要があります。

インサイドOkta、SAMLの設定の下で、4つのURLがあります。

  1. SSO URL
  2. 受信者のURL
  3. 先URL
  4. オーディエンスのURI(SPエンティティID)が

すべてのURLをhttp://mysite.mydomain.com:9005/login?client_name=Saml2Clientに設定してもうまくいきます。サイトは正常に動作します。

httpsとポート9004(https://mysite.mydomain.com:9004/login?client_name=Saml2Client)を使用するようにすべてのURLを変更すると機能しません。 HTTP 500エラーが発生します。

Oktaを介して認証され、ホストサーバの別のタブタイプでFQDNの代わりに認証された場合でも、それは機能します。 https://servername.mydomain.com:9004は問題なく動作します。 Oktaを使ってログオンし、アイコンをクリックする(またはFQDNを入力する)と、HTTP 500エラーが表示されます。

OktaはそれぞれのURLを見るときに何を見ていますか?ポート9004と9005の違いを比較してポート9004をOktaで動作させるには、何が必要なのですか?

ので要約: http://mysite.domain.com:9005/login .... - Okta https://mysite.domain.com:9004/loginスルー作品... - Okta https://servername.domain.com:9004スルー動作しません - より多くの情報が答えることを要求された場合は罰金

を働き、URIバーに入力私の質問、私に知らせて、私は質問を更新します。

+0

あなたはエラーを共有できますか? – Tomer

+0

@Tomer、あなたの興味に感謝します。私はあなたの質問に明日お答えします。エラーメッセージを見つけようとすると、私の問題を引き起こしている可能性のあるものが出てきました。 – Classified

+0

@Tomer、取得しようとしているエラーメッセージは、宛先エンドポイント「https://example.com:9004/login?client_name=Saml2Client」が受信者のエンドポイント「http://example.com:9004」と一致しませんでした/ login?client_name = Saml2Client 'と入力します。何らかの理由で、何かがhttpsの代わりにhttpを使用していますが、どこにわからないのですか。これがOktaの問題なのか、われわれの目的のためにセットアップするのかどうかは不明です。 – Classified

答えて

0

だから我々の状況はこれです。私たちはPlayフレームワークver 2.1.2を使用していました。また、play-pac4jライブラリver 1.1.4も使用しています。 SAMLのサポートどうやら、pac4jのlibには、JavaWebContext.javaというファイルがあります。内部では、httpになるようにスキームをハードコードします。これはOktaではなく、私たちを混乱させる。

このライブラリのバージョン1.4.xからは、必要なスキーム(httpまたはhttps)が確認されています。

play 2.1.2をバージョン1.4.xのpac4jライブラリで使用できるかどうかはわかりません。私が/見つけたら、この答えを更新します。

1

oktaの設定はこのようになっていますか?

enter image description here

あなたのアプリケーションは、そのエンドポイントが正しく構成されているが。 は、例えば、コントローラのエンドポイントのScalaのスニペットを取り付ける:

def oktaLogin = Secure("SAML2Client") { profiles => 
    Action.async { implicit request => 
     val email = profiles.head.getId 
     login(email) 
    } 
    } 
+0

はい、私のOktaの設定はそうです。だからあなたのコードスニペットは、SSLが動作するために必要ですか? Scalaを持っていない/使用していないとどうなりますか?私の前の人はJavaを使いました。 – Classified

+0

チャットへのディスカッションへの移行http://chat.stackoverflow.com/rooms/134709/ssl-and-okta – Classified

関連する問題