问题标签 [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 凭证。我们有一个可行的解决方案,但它要求用户每 60 分钟对 OneLogin(包括 MFA)进行一次完全重新身份验证,因为 AWS 临时凭证到期。我认为这不会发生 - 我们的用户习惯于与真实 IAM 用户绑定的永久 API 凭证。
理想情况下,我们希望允许用户每天进行一次身份验证,安全地缓存生成的 SAML 断言,并根据需要使用它来透明地刷新 AWS API 凭证。我正在考虑类似aws-keychain的东西,它会使用本地操作系统凭证存储来记住 SAML 断言,并且仅在其 OneLogin 会话超时时提示用户输入。
这几乎可以按原样工作。问题是 OneLoginsaml_assertion
和端点返回的 SAML 断言在和字段verify_factor
上设置了三分钟的最后期限。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 \",\"文件\":\"\/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 ) 用于生成服务提供者和身份提供者 x509证书:
使用的身份提供者证书
使用的服务提供商证书:
加载 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 应用程序,但是另一个应用程序使用 Saml 作为其 SSO 的标准协议,我发现Onelogin/phpSaml
很多人似乎在使用但我不太了解它。
我的情况如下:在这种情况下,我是服务提供商,他的应用程序是 IdP,我想知道的是如何在 Symfony 下使用它。
SP数据和IDP数据保存在哪里?我应该把要验证的数据放在哪里(每个用户都有不同的数据要发送)。
谢谢
c# - 如何在 .NET 工具包中使用证书指纹而不是证书
我正在使用 OneLogin .NET 工具包进行 ADFS 身份验证。在AccountSettings.cs
页面中它要求提供证书,但我的客户只提供了证书的指纹。
如何在代码中使用证书指纹?
symfony - 生成具有 OneLogin 属性的 SAML 响应
我在 symfony2 下使用 Onelogin 包,作为身份提供者,我需要使用 SP 所需的用户值向服务提供者发送 SAML 响应。我找到了如何发送请求,但我找不到如何生成响应并发送它
任何帮助将不胜感激,谢谢
devise - Rails/Devise/SAML 元数据不正确(不适用于 PingFederate)
让我先说我是 SAML 的新手,几乎不了解它是如何工作的。
设置
我将devise_saml_authenticatable
gem 与 Rails 4 应用程序一起使用来实现 SSO。Rails 应用程序充当服务提供者 (SP)。为了测试我的设置,我创建了一个 OneLogin 开发人员帐户并使用以下属性设置了一个SAML 测试连接器(IdP w/attr w/签名响应) :
配置选项卡
- 受众:mysubdomain.onelogin.com
- 收件人:http://mysubdomain.myapp.local:3000/saml/auth
- ACS(消费者)URL 验证器:^http://mysubdomain.myapp.local:3000/saml/auth$
- ACS(消费者)网址:http://mysubdomain.myapp.local:3000/saml/auth
- 单点注销 URL:http://mysubdomain.myapp.local:3000/saml/idp_sign_out
SSO 选项卡
- 发行者网址: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_to Company
,并且 SSO 设置存储在Company
模型中。
这是我的 saml 路线:
最后这里是我的SamlSessionsController
:
问题
当我手动将 OneLogin 适配器中的设置映射到我的Company
模型时(参见屏幕截图),我可以使用 OneLogin 作为身份提供者 (IdP) 以我的应用程序用户身份进行身份验证。但是现在我需要向客户端提供代表应用程序设置的 XML 元数据。当我去 时/saml/metadata.xml
,我得到以下配置,根据我的客户,这是不正确的。客户没有提供有关问题所在的任何进一步细节。他们正在使用 PingFederate,如果这很重要的话。
我的问题是,我在这里做错了什么,我该如何纠正?正如我所说,我几乎不了解 SAML 是如何在幕后工作的。
onelogin - OneLogin session_via_api_token 和 Chrome
我通过 ajax 调用获取会话令牌。这又调用了 API 方法 https://api.us.onelogin.com/api/1/login/auth
在 IE 和 Firefox 中,用户现在已登录。 session_via_api_token 返回响应标头“位置”以及我的原始页面 URL。
在 Chrome 中,用户未登录,响应标头“位置”为https://app.onelogin.com/login
我感觉这是 cookie 的问题,但不知道是什么问题。有任何想法吗?
api - OneLogin - 创建应用程序 api (AWS)
我有一个用例,我们需要经常为各种客户的 onelogin 添加额外的 aws 登录应用程序。我不想让每个人都允许这样做,但想设置一个 API,它可以输入所有信息,然后创建应用程序并返回 aws 所需的内容。
我在开发人员页面上没有看到创建应用程序 api。有没有办法做到这一点?它在路线图上吗?我错过了什么吗?
谢谢你的帮助!
php - saml-php错误码解释
我对 SAML 领域非常陌生,我正在尝试使用 OneLogIn 中的 saml-php 仅将其作为 SP 实现到我的应用程序中。就目前而言,我可以使用 OneLogIn 测试应用程序让它工作,但是,每当外部源尝试通过它登录时,我都会收到以下错误:
然后是通过我的各种文件的堆栈跟踪。由于我对所有这些都没有太多经验,有人可以解释这意味着什么吗?为了调试它,我需要从哪里开始寻找。
请,如果任何其他信息会有所帮助,请告诉我,我会提供。
先感谢您!
onelogin - 使用 Onelogin 为应用程序调用 API 进行身份验证?
我的公司有几个使用 onelogin 进行中央身份验证的应用程序。我想针对这些应用程序自动执行一些操作。我已经浏览了 onelogin 文档,但不确定身份验证如何通过 API 进行。
他们文档中的所有 API 调用都需要生成 API 凭据(这需要以帐户所有者或管理员身份登录)。
我只想提供最终 onelogin 用户凭据并使用其权限访问底层应用程序 API。有谁知道如何做到这一点?