問題タブ [onelogin]
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.
api - OneLogin SAML および MFA を使用した AWS API 資格情報
パスワードと MFA を使用して OneLogin にサインインすることにより、ユーザーが特定の AWS ロールの一連の一時的な CLI 資格情報を取得できるようにしたいと考えています。有効なソリューションがありますが、AWS 一時認証情報の有効期限が切れるため、ユーザーは 60 分ごとに OneLogin (MFA を含む) に対して完全に再認証する必要があります。それはうまくいかないと思います。私たちのユーザーは、実際の IAM ユーザーに関連付けられた永続的な API 資格情報に慣れています。
理想的には、ユーザーが 1 日 1 回認証できるようにし、結果の SAML アサーションを安全にキャッシュし、それを使用して必要に応じて AWS API 資格情報を透過的に更新できるようにしたいと考えています。ローカル OS 資格情報ストアを使用して SAML アサーションを記憶し、OneLogin セッションがタイムアウトしたときにのみユーザーに入力を求めるaws-keychainのようなものを考えています。
これはほとんどそのまま機能します。問題は、OneLogin のsaml_assertion
andエンドポイントによって返される SAML アサーションがandフィールドverify_factor
に 3 分の期限を設定することです。Subject
Conditions
私たちが望むことを行う方法はありますか、それともコア SAML 原則を回避しようとしていますか?
php - OneloginPHPSAMLSdk::processResponse() が暗号化されたメッセージの処理に失敗する
問題
OneloginPHPSAMLSdk::processResponse()
暗号化されたメッセージの処理に失敗しました。
署名された SAML アサーションを含む署名された SAML 応答は、 によって正常に処理されましたOneloginPHPSAMLSdk::processResponse()
。
ただし、署名付き SAML アサーションを含む同じ署名付き SAML 応答が暗号化されているOneloginPHPSAMLSdk::processResponse()
場合、暗号化された SAML 応答の処理は失敗します。この場合、復号化は成功しますが、XML はsaml-schema-protocol-2.0.xsd
検証に失敗します。
概要:
暗号化されていないメッセージは成功します:
- SAML 応答メッセージの SAML アサーションは署名されています
- SAML 応答メッセージは署名されています
- 完全に署名された SAML 応答 (暗号化されていない) が
OneloginPHPSAMLSdk::processResponse()
正常に処理されました
暗号化されたメッセージが失敗します:
- 完全に署名された同じ SAML 応答は暗号化され (Onelogin オンライン ツールを使用)、によって処理されます。
OneloginPHPSAMLSdk::processResponse()
- 完全に署名された SAML 応答の復号化が成功しました
OneloginPHPSAMLSdk::processResponse()
復号化された完全な署名付き SAML 応答の処理が失敗する
OneloginPHPSAMLSdk::processResponse()
と から 返されたエラーlibxml_get_errors()
:
invalid_response - 無効な SAML レスポンス。saml-schema-protocol-2.0.xsd と一致しません - [{\"level\":2,\"code\":1871,\"column\":0,\"message\":\"Element 'Assertion ': この要素は予期されていません。予期されるのは ( {urn:oasis:names:tc:SAML:2.0:assertion}Assertion、{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedAssertion ) のいずれかです。\n \",\"file\":\"\/var\/www\/sso\/app\/webroot\/\",\"line\":1}]"
このメッセージの暗号化されていないバージョンはsaml-schema-protocol-2.0.xsd
検証に合格し、正常に処理されます。
以下は、使用されたすべての設定です。
x.509 証明書
テスト目的で、Onelogin オンライン自己署名証明書ツール ( https://developers.onelogin.com/saml/online-tools/x509-certs/obtain-self-signed-certs ) を使用して、サービス プロバイダーと ID プロバイダー x509 を生成しました。証明書:
使用される ID プロバイダー証明書
使用されるサービス プロバイダー証明書:
読み込まれた OneloginPHPSAMLSdk 設定:
使用された署名付き SAML アサーションを含む署名済み SAML 応答 ( OneloginPHPSAMLSdk::processResponse() によって正常に処理された)
上記の証明書でhttps://developers.onelogin.com/saml/online-tools/sign/responseを使用して署名されています。
使用された署名付き SAML アサーションを含む暗号化された署名付き SAML 応答 (OneloginPHPSAMLSdk::processResponse() が失敗する原因)
https://developers.onelogin.com/saml/online-tools/encrypt-decrypt/encrypt-xmlを使用して、サービス プロバイダーの公開鍵で暗号化されます。
onelogin - symfony2 の OneLogin/phpsaml
ユーザーが SSO を介して別の Web アプリに接続できるようにする必要がありますが、他のアプリは SSO の標準プロトコルとして Saml を使用していますOnelogin/phpSaml
。多くの人が使用しているように見えますが、よくわかりませんでした。
私の状況は次のとおりです。この場合、私はサービスプロバイダーであり、彼のアプリは IdP です。知りたいのは、Syomfony での使用方法です。
SP データと IDP データを保存する場所 認証するデータをどこに置くのですか(ユーザーごとに異なるデータが送信されます)。
ありがとうございました
c# - .NET ツールキットで証明書の代わりに証明書フィンガープリントを使用する方法
ADFS 認証に OneLogin .NET ツールキットを使用しています。ページで証明書を要求してAccountSettings.cs
いますが、クライアントは証明書のフィンガープリントしか提供していません。
コードで証明書のフィンガープリントを使用するにはどうすればよいですか?
symfony - 属性 OneLogin で SAML 応答を生成する
私は symfony2 の下で Onelogin バンドルを使用しています。ID プロバイダーとして、SP が必要とするユーザー値を含む SAML 応答をサービス プロバイダーに送信する必要があります。リクエストを送信する方法は見つかりましたが、レスポンスを生成して送信する方法が見つかりませんでした
。
devise - Rails/Devise/SAML メタデータが正しくない (PingFederate で動作しない)
この質問の前に、私は SAML を初めて使用し、その仕組みをほとんど理解していないと言っておきましょう。
セットアップ
devise_saml_authenticatable
Rails 4 アプリで gem を使用してSSO を実現しています。Rails アプリはサービス プロバイダー (SP) として機能します。セットアップをテストするために、OneLogin 開発者アカウントを作成し、次の属性を使用してSAML テスト コネクタ (属性付き IdP、署名応答付き)をセットアップしました。
構成タブ
- 対象者: mysubdomain.onelogin.com
- 受信者: http://mysubdomain.myapp.local:3000/saml/auth
- ACS (コンシューマー) URL バリデーター: ^http://mysubdomain.myapp.local:3000/saml/auth$
- ACS (消費者) URL: http://mysubdomain.myapp.local:3000/saml/auth
- シングル ログアウト URL: http://mysubdomain.myapp.local:3000/saml/idp_sign_out
SSO タブ
- 発行者 URL: https://app.onelogin.com/saml/metadata/589819
- SAML 2.0 エンドポイント (HTTP): https://mysubdomain.onelogin.com/trust/saml2/http-post/sso/589819
- SLO エンドポイント (HTTP): https://mysubdomain.onelogin.com/trust/saml2/http-redirect/slo/589819
- SAML 署名アルゴリズム: SHA-1
- SHA フィンガープリント: 60:9D:18:56:B9:80:D4:25:63:C1:CC:57:6D:B9:06:7C:78:BB:2C:F1
X.509 証明書:
- - -始めるCERTIFICATE----- MIIEFzCCAv+gAwIBAgIUQYRVa1MQpUh0gJaznmXSF/SPqnowDQYJKoZIhvcNAQEF BQAwWDELMAkGA1UEBhMCVVMxETAPBgNVBAoMCEZpcm1QbGF5MRUwEwYDVQQLDAxP bmVMb2dpbiBJZFAxHzAdBgNVBAMMFk9uZUxvZ2luIEFjY291bnQgOTI1MzEwHhcN MTYwOTIxMTU0NzQwWhcNMjEwOTIyMTU0NzQwWjBYMQswCQYDVQQGEwJVUzERMA8G A1UECgwIRmlybVBsYXkxFTATBgNVBAsMDE9uZUxvZ2luIElkUDEfMB0GA1UEAwwW T25lTG9naW4gQWNjb3VudCA5MjUzMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBALGVgocBj0ciHM3uKlWIcofPhOtzfJw1XpAdNynAvPtbCl7WE5+sLBoQ ZF+oZ7Dl+wRW6DHMJCl9DdKcOaQA6/gr5bwt78IzZ8hWMoKQEPih+E0km6rKLYA8 M52vxtJxGs8Iqx60QvPEePQFMOA+xg73OExfM7W5LnXwNz/Pxgsr3lBif5oCC76j SaTCFroV+TSjfOaYMW/lZrsS79KRIzA9I5XwUBe3bC8bsfQmZXgddCrkQUNSGGaS 7/jtFUlQ94+lAL+l3yoAiNAE6+mt48qqmyLfkKibXvnZ8dwuO272wpY4fEM+vFRy pYrTajqvhY3hYIq8dLw3ominE5VECl8CAwEAAaOB2DCB1TAMBgNVHRMBAf8EAjAA MB0GA1UdDgQWBBSxiuvTPxwOhh2pupID+tuyKCeceTCBlQYDVR0jBIGNMIGKgBSx iuvTPxwOhh2pupID+tuyKCeceaFcpFowWDELMAkGA1UEBhMCVVMxETAPBgNVBAoM CEZpcm1QbGF5MRUwEwYDVQQLDAxPbmVMb2dpbiBJZFAxHzAdBgNVBAMMFk9uZUxv Z2luIEFjY291bnQgOTI1MzGCFEGEVWtTEKVIdICWs55l0hf0j6p6MA4GA1UdDwEB /wQEAwIHgDANBgkqhkiG9w0BAQUFAAOCAQEAYBe+5d3zpLZ7fcf3l3rXYeIxcpN+ 9D2YZCbxsrBhY2Am4YE9nN+RaJXeDqeRBNtpayCZVxfHnXexRo1n7wxwTmosiydi 9yE7SY2xZf+3feQreF25atnn4tzVhxYONaX1njZMIt/TNa7A9aeDfHSD+vwSuYYB hGxKT6HOkEAEBiXCZ/FcVNiB0D8bRwQhiJ3BTzXDfqHrmq8QYdn3Ejlqo62vMl6W XeMXUoyv6cUc64Ap6E+XtEQI1E8YB5R8GtTs3Y1Oa2dD6yWyCyVJ20+Hi7IWAqXC EfqstqXB7FoQ2rAt39cepnu1SOarvEYDMwYIaVNF3hoyodBybJJsAwAnCQ== -----END CERTIFICATE-----証明書 - - -証明書 - - -証明書 - - -証明書 - - -
私devise.rb
の場合、次の構成があります。
これが私のものIdPSettingsAdapter
です:
私のユーザーモデルはContact
belongs_toCompany
であり、SSO 設定はCompany
モデルに保存されていることに注意してください。
ここに私のsmlルートがあります:
最後に、これが私のものSamlSessionsController
です:
問題
OneLogin アダプターからCompany
モデルにマップ設定を手動で保存すると (スクリーンショットを参照)、OneLogin を ID プロバイダー (IdP) として使用してアプリのユーザーとして認証できます。ただし、アプリのセットアップを表す XML メタデータをクライアントに提供する必要があります。にアクセスすると/saml/metadata.xml
、次の構成が表示されますが、クライアントによると、これは正しくありません。クライアントは、問題が何であるかについてそれ以上の詳細を提供しませんでした. 問題があれば、彼らは PingFederate を使用しています。
私の質問は、ここで何が間違っているのか、どうすれば修正できるのかということです。私が言ったように、私は SAML が内部でどのように機能するかをほとんど理解していません。
php - saml-php エラーコードの説明
私は SAML アリーナに非常に慣れていません。OneLogIn の saml-php を使用して、これを SP のみとしてアプリに実装しようとしています。現状では、OneLogIn テスト アプリを使用して動作させることができますが、外部ソースがそれを介してログインしようとすると、次のエラーが発生します。
その後、さまざまなファイルのスタック トレースが続きます。私はこれらすべてについてあまり経験がないので、誰かがこれが何を意味するのか説明できますか? デバッグするには、どこから探す必要がありますか。
追加情報が役立つ場合はお知らせください。提供いたします。
前もって感謝します!
onelogin - 認証に Onelogin を使用してアプリケーションの API を呼び出していますか?
私の会社には、中央認証に onelogin を使用するアプリがいくつかあります。これらのアプリケーションに対するいくつかのアクションを自動化したいと考えています。onelogin のドキュメントを調べましたが、API を介した認証のしくみがわかりません。
ドキュメント内のすべての API 呼び出しでは、API 資格情報を生成する必要があります (アカウント所有者または管理者としてログインする必要があります)。
エンド onelogin ユーザー資格情報を提供し、基になるアプリケーション API にアクセス許可を使用してアクセスしたいだけです。誰もこれを行う方法を知っていますか?