草庐IT

php - SSO - 如何从内部网(SAML 2.0)自动登录到外部网站?

一位客户多年来一直使用我们的PHP网络应用程序,但现在想要一个单点登录解决方案(SSO)。他们有一个可以登录的公司内部网,他们希望使用相同的登录名作为我们网络应用程序(位于外部域)的自动身份验证。他们谈论SAML2.0,这是我直到现在才听说过的。我在互联网上搜索过,但很难理解所有不同的概念(身份提供者等)。所有关于该主题的网站似乎都需要一些我不具备的基本知识。我不明白必须如何以及在何处存储身份验证数据...(似乎是来自cookie的后数据,但是第一次开始这样做时如何在任何地方获取身份验证xml?!)有人可以针对这种特定情况为我指出一些方向吗? 最佳答案

php - saml-php错误代码解释

我是SAML领域的新手,我正在尝试使用OneLogIn的saml-php将其仅作为SP实现到我的应用程序中。就目前而言,我可以使用OneLogIn测试应用程序使其正常工作,但是,每当外部来源尝试通过它登录时,我都会收到以下错误:Fatalerror:Uncaughtexception'OneLogin_Saml2_Error'withmessage'SAMLResponsenotfound,OnlysupportedHTTP_POSTBinding'in然后是通过我的各种文件的堆栈跟踪。由于我对所有这些都没有太多经验,有人可以解释一下这是什么意思吗?为了调试它,我需要从哪里开始寻找。如

php - 如何在 Wamp 上安装 simplesaml 作为 SP

我想为我的网站(Wordpress和ADFS)实现SSO。为此,我在SP上使用simplesamlphp(ADFS是idP)。为了测试simplesamlphp,我下载了软件包并将其安装在wamp(D:\wamp\www\simplesamlphp)中。我阅读了这篇教程(http://simplesamlphp.org/docs/1.10/simplesamlphp-install),所以我创建了一个别名并配置了config.php。但是,当我想测试这个配置时,我看到这个错误:“找不到请求的URL/simplesaml/www/module.php/core/frontpage_wel

php - 在 Multi-Tenancy 应用程序中使用 SimpleSAMLphp

我们应用程序的租户有自己的子域,例如customer1.domain.com,尽管它是一个代码库。一些租户希望SP使用SAML发起SSO。实现这一目标的最佳方法是什么?静态共享子域上的SimpleSAMLphp,例如sso.domain.com/saml/SimpleSAMLphp作为租户的一部分,例如customer1.domain.com/saml/如果我们选择选项1,我们如何知道传入的SAML请求是针对哪个租户的?如果我们选择选项2,您建议如何为元数据/authsources配置SimpleSAMLphp,因为它似乎只支持硬编码文件。谢谢 最佳答案

php - Simplesamlphp 错误的元数据

我正在使用simplesaml创建两个应用程序,一个是服务提供商,一个是身份提供商。当我尝试测试它们时,出现以下错误:SimpleSAML_Error_MetadataNotFound:METADATANOTFOUND('%ENTITYID%'=>'\'http://samlsp.dev/module.php/saml/sp/metadata.php/default-sp\'')Backtrace:3/var/www/samlidp/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php:301(SimpleSAML_Metadata_Me

从 DER ASN.1 到 XMLDSIG P1363 的 PHP DSA 签名转换

我正在编写一个PHP应用程序(充当SAMLIdP),它试图通过对服务器(充当SAMLSP)的SAML响应进行登录。我目前被服务器拒绝请求(我只是得到一个500BadRequest)。我已经编写了一个测试应用程序(在Java/openSAML中——我很确定服务器正在使用它),并且可以看到问题是SAMLSignatureValidator验证生成org.apache.xml.security.signature.XMLSignatureException:InvalidXMLDSIGformatofDSAsignature查看SAMLSignatureValidatorcode我可以看到它

php - 如何为 Intuit 合作伙伴平台创建 Oauth 签名和 SAML 断言?

我正在尝试连接到Intuit合作伙伴平台以使用新的AggCatAPI,但我正在努力获取Oauth签名和SAML断言设置以验证和使用API。我看过PHPDevKitforQuickBooks作为一个例子,但我认为无论如何这是一个不同的身份验证过程。是否有任何示例说明如何使用PHP来验证和使用IntuitAggCatAPI? 最佳答案 目前只有.Net、Java和Ruby的样本。https://ipp.developer.intuit.com/index.php?title=0010_Intuit_Partner_Platform/00

php - OKTA SAML 签名验证 - PHP

我的应用程序(PHP)从具有签名值的OKTA获得SAML响应,我也有具有公钥的OKTA证书。我的应用程序执行以下操作,从证书中获取公钥。从发送给它的SAML中获取签名值。现在,它使用函数openssl_verify($data,$signature,$pubkeykey,"sha1WithRSAEncryption");由于$data是OKTA用于签署saml响应的内容,我不确定$data必须设置什么。我的代码,$pubkeyid=openssl_pkey_get_details(openssl_pkey_get_public(file_get_contents("okta.cert"

php - simpleSAMLphp:无法找到当前绑定(bind)

我是SP,我无法使用客户端的IDP登录到SP,我收到以下错误:SimpleSAML_Error_Error:ACSPARAMSBacktrace:1modules/saml/www/sp/saml2-acs.php:21(require)0www/module.php:135(N/A)Causedby:Exception:Unabletofindthecurrentbinding.Backtrace:2vendor/simplesamlphp/saml2/src/SAML2/Binding.php:99(SAML2\Binding::getCurrentBinding)1modules

php - G Suite SSO 错误 app_not_configured_for_user

我正在将GoogleGSuiteSAML/SSO集成到我们公司的网络应用程序中。我已经在我们的GSuite管理员帐户以及我们的服务提供商代码中设置了所有必要的字段。以下是尝试访问我们的网络应用程序时登录效果很好的情况:未登录任何Google帐户:将我重定向到Google“选择帐户”页面。我登录到我的公司帐户,然后我被重定向到我的应用程序。同时登录我公司的Google帐户和我的个人Google帐户(在同一浏览器中):将我重定向到Google“选择帐户”页面。我选择我的公司帐户,然后我被重定向到我的应用程序。这是登录行为不理想的情况:我只登录了我的个人Google帐户。我尝试访问我公司的应