SimpleSAMLphp 的 SAML2 PHP 库

安装次数: 12,819,541

依赖者: 37

建议者: 0

安全性: 5

星标: 284

关注者: 39

分支: 134

开放问题: 12

类型:simplesamlphp-xmlprovider

v5.0.0-alpha.17 2024-09-16 22:53 UTC

This package is auto-updated.

Last update: 2024-09-17 07:08:23 UTC


README

CI Scrutinizer Code Quality Coverage Status Type coverage Psalm Level

这是一个用于 SAML2 相关功能的 PHP 库。

它被多个产品使用,最著名的包括 SimpleSAMLphpOpenConext

使用前注意

除非您非常熟悉 SAML2 规范,否则请不要使用此库。

如果您不熟悉 SAML2 规范,只想通过 SAML2 连接您的应用程序,您可能应该使用 SimpleSAMLphp

注意,HTTP Artifact Binding 和 SOAP 客户端在 SimpleSAMLphp 之外不工作

选择哪个版本?

最新发布的版本(4.x 系列)是推荐版本3.x 分支是我们的 LTS 分支,只要 SimpleSAMLphp 的支持版本使用此分支,我们将继续支持它。

所有其他分支(3.x 及更早版本)不再受支持,并且不会收到任何维护或(安全)修复。请不要使用这些版本。

我们遵循 Semantic Versioning。如果您是从旧版本升级,请务必查看 UPGRADING.md 文件。在这里,您可以找到关于如何处理版本之间的 BC 兼容性更改的说明。

用法

  • 使用 Composer 安装,在您的项目中运行以下命令
composer require simplesamlphp/saml2:^4.0
  • 通过扩展和实现 \SimpleSAML\SAML2\Compat\AbstractContainer 来提供所需的外部依赖项,然后将其注入到 ContainerSingleton 中(请参见以下示例)。

  • 确保您已阅读下面的安全部分.

  • 随意使用。

示例

    // Use Composers autoloading
    require 'vendor/autoload.php';

    // Implement the Container interface (out of scope for example)
    require 'container.php';
    \SimpleSAML\SAML2\Compat\ContainerSingleton::setContainer($container);

    // Create Issuer
    $issuer = new \SimpleSAML\SAML2\XML\saml\Issuer('https://sp.example.edu');

    // Instantiate XML Random utils
    $randomUtils = new \SimpleSAML\XML\Utils\Random();

    // Set up an AuthnRequest
    $request = new \SimpleSAML\SAML2\XML\samlp\AuthnRequest(
        $issuer,
        $randomUtils->generateId(),
        null,
        'https://idp.example.edu'
    );

    // Send it off using the HTTP-Redirect binding
    $binding = new \SimpleSAML\SAML2\HTTPRedirect();
    $binding->send($request);

许可证

此库采用 LGPL 许可证版本 2.1。有关更多详细信息,请参阅 LICENSE