stefna / islandis-auth
用于对 island.is 进行身份验证的库
1.4.0
2021-07-06 11:47 UTC
Requires
- php: ^7.1 || ^8.0
- ext-dom: *
- ext-libxml: *
- ext-openssl: *
- phpseclib/phpseclib: ^3.0
- robrichards/xmlseclibs: ^3.1
Requires (Dev)
- phpstan/phpstan: ^0.12.65
- phpunit/phpunit: ^7.0 || ^8.5 || ^9.5
This package is auto-updated.
Last update: 2024-09-13 09:44:04 UTC
README
简化使用 island.is 登录处理的库
要开始使用 Island.is 身份验证和认证服务(IAS),您需要申请:https://island.is/innskraningarthjonusta。
工作原理
Ísland.is IAS 返回给服务提供商(您)的令牌,由服务提供商解码,是一个以 Base 64 和 UTF-8 编码的数字签名 SAML 2 令牌。
IAS 返回的 SAML 消息将使用由 Traustur bunadur 签发的证书进行数字签名。此外,该消息将在使用 SHA256 摘要并使用 2048 位 RSA 密钥签名之前,使用 xml-exc-c14n 进行转换。
此库有助于验证和验证 SAML 令牌和提供的签名。
如果您想了解更多关于其工作原理的信息,您可以在此处阅读技术规范:https://vefur.island.is/media/pdf-skjol-a-island.is-2014/island.is-ias-services-instructions.pdf
安装
composer require stefna/islandis-auth
用法
示例用法
<?php if (isset($_POST['token'])) { $audienceUrl = 'login.example.com'; $authentication = new Islandis\Authenticate(new \Islandis\Verifier($audienceUrl)); try { $user = $authentication->verify($_POST['token']); $kennitala = $user->getKennitala(); //is authenticated } catch (\Islandis\Exception\AuthenticateError $e) { echo $e->getMessage(); //failed authentication } }
贡献
我们始终欢迎收到错误/安全报告和错误/安全修复