2016-10-12 12 views
0

私はSAML2.0を使用してOktaと統合しています。私はoktaサイトで与えられたspring-security exmapleを使ってみました。うまく動いています。今、自分のWebアプリケーションをokatに追加しようとしています.OktaダッシュボードでWebアプリケーションを開始またはクリックすると、SAMLアサーションがサービスプロバイダに送信されているかどうかを確認したいと考えています。私はあなたのファーストネーム、姓を読むには、私のWebアプリケーションでindex.jspページを言うことができます。Webアプリケーション(サービスプロバイダ)の受信時にOkta SAMLアサーション応答を読み取る方法

私はtomcatのログを参照してください。 {URN:オアシス:名:TC:SAML:2.0:プロトコル}応答

しかし、I -

INFO org.opensaml.common.binding.security.SAMLProtocolMessageXMLSignatureSecurityPolicyRuleプロトコルメッセージ署名の検証は、メッセージタイプを成功しましたindex.jspのSecurityContextHolder.getContext()。getAuthentication()オブジェクトを取得しようとすると、nullが返されます。

ユーザはOktaで作成され、アプリケーションに割り当てられます。しかし、このユーザーは私のWebアプリケーションデータベースには存在しません。私が見たいのは、Oktaで作成されたユーザーが私のWebアプリケーションに送信されることだけです。私はファーストネーム、ラストネームなどのメタデータを読んでみたいですね。誰かがそれを試しましたか?

私のWebアプリケーションはすでにCasAuthenticationを使用しています。

+0

既存のユーザーでログインしてindex.jspにアクセスしようとすると、SecurityContextHolder.getContext()。getAuthentication()オブジェクトが作成されているのが見えますが、それはobAvailableのcasAuthenticationで認証されていることを示しています。しかし、SPウェブアプリにログインする前に、Oktaからのユーザーの詳細をどのように読むことができるかわからない。 – trextrex

答えて

0

私自身の質問に対する答えが見つかりました。同様の問題に直面している可能性のある同僚のためにここに投稿してください。

複数の認証マネージャを使用している場合は、実際に別名が異なることを確認してください。また、refセクションのsaml beanの別名を参照してください。私が修正したら、私の仕事はうまく始まりました。

関連する問題