stefna/islandis-auth

用于对 island.is 进行身份验证的库

1.4.0 2021-07-06 11:47 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
	}
}

贡献

我们始终欢迎收到错误/安全报告和错误/安全修复