simplesamlphp/saml2-legacy

SimpleSAMLphp 的 SAML2 PHP 库

v4.6.12 2024-04-30 09:01 UTC

README

CI Scrutinizer Code Quality Coverage Status Type coverage Psalm Level

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

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

使用前注意事项

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

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

请注意,HTTP 艺术品绑定和 SOAP 客户端在 SimpleSAMLphp 以外不工作

选择哪个版本?

最新发布的版本(4.x 范围)是首选版本3.x 分支是我们的 LTS 分支,只要 SimpleSAMLphp 的受支持发布版使用此分支,就会得到支持。

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

我们遵循 语义版本化。如果您是从旧版本升级,请确保查看 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