問題タブ [openam]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - openam クライアント sdk セッション ID が無効です
Tomcat 7 で openam を使用しています。次の行は常に例外 SSOTokenManager manager = SSOTokenManager.getInstance(); を生成します。SSOToken ssoToken = manager.createSSOToken(リクエスト);
無効なセッション ID
設定か何かに問題があると思います
何か助けて???
amSSOProvider:09/18/2012 01:18:01:882 PM EEST: スレッド [http-bio-9090-exec-151,5,main] は HttpRequest com.iplanet.dpro.session.SessionException から SSOToken を作成できませんでした: 無効ですセッションID。com.iplanet.dpro.session.Session.getSession(Session.java:1062) com.iplanet.sso.providers.dpro.SSOProviderImpl.createSSOToken(SSOProviderImpl.java:92) com.iplanet.sso.SSOTokenManager.createSSOToken (SSOTokenManager.java:241) で main.TestServlet2.doGet(TestServlet2.java:48) で javax.servlet.http.HttpServlet.service(HttpServlet.java:621) で javax.servlet.http.HttpServlet.service(HttpServlet. java:723) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) org.apache.catalina.core .
com.iplanet.sso.SSOException: 無効なセッション ID。com.iplanet.sso.providers.dpro.SSOProviderImpl.createSSOToken(SSOProviderImpl.java:111) で com.iplanet.sso.SSOTokenManager.createSSOToken(SSOTokenManager.java:241) で main.TestServlet2.doGet(TestServlet2.java:48) ) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain. java:304) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) org.apache.catalina.core org.apache.catalina.authenticator.AuthenticatorBase の .StandardContextValve.invoke(StandardContextValve.java:170)。com.iplanet.dpro.session.SessionException: 無効なセッション ID。com.iplanet.dpro.session.Session.getSession(Session.java:1062) com.iplanet.sso.providers.dpro.SSOProviderImpl.createSSOToken(SSOProviderImpl.java:92)
java - com.iplanet.services.comm.client.SendRequestException:sun.security.validator.ValidatorException:PKIXパスの構築に失敗しました:
私は次の手順で行いましたが、そのスロー例外:
1.WindowsServer2003にopenam10.0.0をインストールしました。
2.同じWindowsサーバーマシン上でsslを使用してTomcatを構成しました。
3.正しく構成されており、openamurlにはhttpsからアクセスできます。
4.ubuntuマシンである別のマシンにopenamクライアントSDKをインストールし、そのubuntumachinからを使用してopenamサーバーにログインしようとしています
しかし、私は次の例外を取得しています:
何が問題なのかわかりませんでした。Javaキーストア(SSL構成に必要)がWindowsサーバーマシンにあり、ubuntuマシンにキーストアがないためですか。
また
キーストアをubuntuマシンにインポートする必要があります。誰かが私がこれから抜け出すのを手伝ってくれませんか。
openssl - com.sun.identity.authentication.spi.AuthLoginException(1): XML 要求の処理中にエラーが発生しました
次のコードを使用して、openam サーバーにログインしています。
しかし、lc.login(indexType, "DataStore") でこの例外が発生します:
アプリケーションのシステム変数にも amconfig.properties ファイルがあります。しかし、そこに何が欠けているのか理解できませんでした。
liferay - Liferay はスクリーンネームでユーザーを取得できません
スクリーンネームでユーザーを取得しようとするliferayの自動ログインフックを書いています。次のコードを使用してユーザーを取得しています。これは主にOpenSSOAutoLoginのバリエーションです。
User user = UserLocalServiceUtil.getUserByScreenName(companyId, screenName);
これは、liferay に記録されるスクリーン名が大文字の場合を除いて、ほとんどの場合に機能します。たとえば、liferay に保存されているスクリーン名が「TEST」の場合、ユーザーを取得できません。スタック トレースは次のように表示されます。
トレースには、「キー screenName=test を持つユーザーは存在しません」と明確に示されています。ここで「test」は小文字で書かれていますが、 getUserByScreenName() メソッドは大文字のスクリーンネームで呼び出されました。
いくつかの調査の後、小文字の変換がliferay UserLocalServiceImplで実行されることがわかりました。検索が失敗する理由だと思いますが、よくわかりません。
誰でもそれを確認できますか?liferay のスクリーン名は常に小文字にする必要がありますか?
アドバイスをありがとう。
adfs2.0 - サービス プロバイダーまたは ID プロバイダーで sp.xml ファイルをインポートする
openamサーバーがサービスプロバイダーで、adfsサーバーがIDプロバイダーであるadfs + openamフェデレーションを行っています.openamサーバーにsp.xmlおよびsp-extend.xmlファイルを作成しました。adfs サーバー上の idp.xml および idp-extend.xml。
ただし、その sp.xml をインポートする場所は、Openam または adfs server のどちらでもかまいません。idp.xml についても同様です。私はこれについて混乱しています。構成を行うために次のサイトを参照しています。
https://wikis.forgerock.org/confluence/display/openam/OpenAM+and+ADFS2+構成
tomcat - 認可のための OpenAM Tomcat J2EE エージェントの設定
OpenAM を使用して、Tomcat 6 でステージングされたテスト Web アプリケーションへの承認を構成したいと考えています。最終的な目標/ユースケースは次のようになります。
- ユーザー bob はグループ employee に属しています
ユーザー john はグループ マネージャーに属しています
従業員とマネージャーのみが employee.jsp ページにアクセスできます
- マネージャのみが manager.jsp ページにアクセスできます
認証部分に関するドキュメントがたくさんあり、私の環境で適切に構成されています。ログインする前に、「パブリック」ページにアクセスできます (構成した URI を強制しません)。しかし、「employee.jsp」などの保護されたページにアクセスしようとするとすぐに、OpenAM のログイン モジュールにリダイレクトされ、認証が必要になります。 . グループ従業員 (バッキング ユーザー ストアは Active Directory) に属するボブとして認証できますが、リダイレクト後もアクセスが拒否されます。このためのアクセスをどのように構成できますか? このリソースを保護するためにデプロイされるポリシー エージェントは j2ee_agent です。Web エージェントの方が関連性が高いようですが、Tomcat には j2ee エージェントがデプロイされていることがわかりました。何かご意見は?
ありがとう。
環境:
- ADを使用して、Windows 2008サーバー上でステージングされたtomcat 6にデプロイされたwebapp
- サーバーに集中化された構成で同じTomcat 6インスタンスにデプロイされたj2eeポリシーエージェント
- Windows 2008 Server AD をユーザー ストアとして使用して、jboss 7 内にデプロイされた別の Linux ボックス上の openam サーバー。
single-sign-on - SP が開始する SSO と IDP が開始する SSO の違い
ADFS + OpenAM フェデレーションと組み合わせてシングル サインオンを実装するためのより良いソリューションを含め、SP 開始の SSOとIDP 開始の SSOの主な違いは何ですか?
saml - OpenAM の全体的な理解と SAML
OpenAM を使用して SAML で SSO ソリューションを実装しています。私はこれらのテクノロジーの初心者であり、いくつかの説明が必要です。
私の進歩
とりあえず、OpenAM をホストする Tomcat を IdP としてインストールしました。別の Tomcat が SP として適合します。そこに WebAgent がインストールされます。SP の保護された部分に到達しようとすると、IdP ログ ページにリダイレクトされます。資格情報を入力すると、最終的にリソースにリダイレクトされます。それはうまくいくようです。
私の質問
私のアーキテクチャは単純な SSO に基づいていますね。
SAMLv2 を有効にするにはどうすればよいですか?
SAML を許可するには、トラスト サークル内のすべてのサーバーに OpenAM をインストールする必要がありますか? つまり、IdP では当然のように思えますが、opensso.war を SP に配置して構成する必要がありますか?
選択したシナリオは、IdP が開始する SSO です。クライアントが IdP Authenticate WS に到達した場合、SAML アサーションがありますか?
前もって感謝します
authentication - openam/opensso がロールのユニバーサル ID の代わりにロール名を返すようにする
アプリケーションでユーザーを認証するために OpenAM 9.5.2 を使用しています。認証はうまく機能しますが、最終的なアプリケーションからユーザー メンバーシップを取得する際に問題が発生します。
openam でグループ「somegroup」を定義し、ユーザーをこのグループに追加しました。私のアプリケーションでは、認証されたユーザーがこのグループのメンバーであるかどうかをテストしたいと考えています。私がそれをテストしている場合:
結果が出falseます。実際、私はテストする必要があります
true応答を得るために。
sso エージェント構成で特権属性マッピング リストを定義して にマッピングできることはわかっていますid=somegroup,ou=group,dc=opensso,dc=java,dc=netがsomegroup、ロールとグループが外部データベースに保存されているため、私の状況には適していません。データベースでロールを定義し、sso エージェント conf でマッピングするのは便利ではありません。
私の質問: openamsomegroupに長いユニバーサル ID の代わりに「短い」(つまり) グループ名を使用させる方法はありますか?
adfs2.0 - Javaアプリケーションを使用してopenamからadfsにログインします
adfsをIDプロバイダーとして構成し、openamをサービスプロバイダーとして構成しましたが、ログインがadfsthroghtopenamで正常に機能しているかどうかをテストする方法。
誰かがJavaアプリケーションを使用してopenamを介してadfsサーバーにログインするのを手伝ってくれますか?
ありがとう、