tvdijen / saml2
SimpleSAMLphp 的 SAML2 PHP 库
v3.1.5
2018-04-18 04:43 UTC
Requires
- php: >=5.4
- ext-dom: *
- ext-openssl: *
- ext-zlib: *
- psr/log: ~1.0
- robrichards/xmlseclibs: ^3.0
Requires (Dev)
- mockery/mockery: ~0.9
- phpmd/phpmd: ~1.5
- phpunit/phpunit: ~4
- sebastian/phpcpd: ~1.4
- sensiolabs/security-checker: ~1.1
- squizlabs/php_codesniffer: ~1.4
- v3.1.5
- v3.1.4
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.3.8
- v2.3.7
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3
- v2.2
- v2.1
- v2.0.1
- v2.0.0
- v1.10.6
- v1.10.5
- v1.10.4
- v1.10.3
- v1.10.2
- v1.10.1
- v1.10
- v1.9.1
- v1.9
- v1.8.1
- v1.8
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.1
- v1.6.0
- v1.5.4
- 1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.0
- v0.8.1
- v0.8.0
- v0.7.1
- v0.7.0
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.0
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.0
- v0.1.0-alpha
- dev-feature-friendlynames
- dev-release-4-alpha
- dev-typehints
- dev-release-1.x
- dev-release-2.x
- dev-release-1.8.x
- dev-release-1.9.x
- dev-master / 4.2.x-dev
This package is auto-updated.
Last update: 2024-09-15 07:05:38 UTC
README
SAML2 相关功能的 PHP 库。从 SimpleSAMLphp 提取,由 OpenConext 使用。该库最初是 UNINETT 和 SURFnet 之间的合作项目,但任何人都可以参与贡献。
使用前请阅读
除非您非常熟悉 SAML2 规范,否则请不要使用此库。
如果您不熟悉 SAML2 规范,只是想使用 SAML2 连接您的应用程序,您可能应该使用 SimpleSAMLphp。
请注意,HTTP Artifact Binding 和 SOAP 客户端仅在 SimpleSAMLphp 中工作。
选择哪个版本?
最新发布的版本(4.x
范围)是 推荐版本。3.x 分支
是我们的 LTS 分支,只要 SimpleSAMLphp 没有迁移到 4.x
分支,就会继续支持。
所有其他分支(2.x
及更早版本)不再受支持,将不会收到任何维护或(安全)修复。请勿使用这些版本。
我们遵循 语义版本化。如果您从旧版本升级,请务必检查 UPGRADING.md 文件。在这里,您将找到关于如何处理版本之间的 BC 破坏性更改的说明。
用法
- 使用 Composer 安装,在您的项目中运行以下命令
composer require simplesamlphp/saml2:^3.0
-
通过扩展和实现
SAML2\Compat\AbstractContainer
来提供所需的外部依赖项,然后将其注入到 ContainerSingleton 中(请参阅下面的示例)。 -
确保您已经阅读了下面的安全部分.
-
随意使用。示例
// Use Composers autoloading require 'vendor/autoload.php'; // Implement the Container interface (out of scope for example) require 'container.php'; SAML2\Compat\ContainerSingleton::setContainer($container); // Set up an AuthnRequest $request = new SAML2\AuthnRequest(); $request->setId($container->generateId()); $request->setIssuer('https://sp.example.edu'); $request->setDestination('https://idp.example.edu'); // Send it off using the HTTP-Redirect binding $binding = new SAML2\HTTPRedirect(); $binding->send($request);
安全
- 如果您需要创建一个 DOMDocument 实例,请使用
SAML2\DOMDocumentFactory
从字符串(SAML2\DOMDocumentFactory::fromString($theXmlAsString)
)、文件(SAML2\DOMDocumentFactory::fromFile($pathToTheFile)
)或新实例(SAML2\DOMDocumentFactory::create()
)创建 DOMDocuments。这样做是为了保护自己免受 XXE 处理漏洞 以及 XML 实体扩展攻击 的侵害。
许可证
此库根据 LGPL 许可证版本 2.1 许可。有关详细信息,请参阅 LICENSE。