appelit/laravel-srp

该软件包已被弃用,不再维护。未建议替代软件包。

Laravel SRP(安全远程密码)认证扩展

dev-master / 1.0.x-dev 2018-08-23 11:48 UTC

This package is not auto-updated.

Last update: 2020-08-06 11:21:38 UTC


README

SRP for Laravel

Latest Stable Version Latest Unstable Version Total Downloads Monthly Downloads Daily Downloads License composer.lock

关于

Laravel SRP为SRP(安全远程密码)协议的服务器端提供了一层简单的封装,用于您的认证流程。

安装

此软件包需要PHP 7.2和Laravel 5.6或更高版本。要安装软件包,请使用以下命令。

composer require appelit/laravel-srp

使用

该软件包提供了一个作为 \SRP 别名的 Facade,可以使用此 Facade 容易地访问 APPelit\SRP\SrpService。在 SrpService 中有 2 个方法,challengeauthorize,分别代表流程中的挑战和授权部分。挑战和授权都返回一个包含客户端所需所有信息的类,并实现了 Illuminate\Contracts\Support\Jsonable 接口,因此可以直接从控制器方法返回。APPelit\SRP\AuthenticateResponse 还包含生成的会话密钥(该密钥不会被编码到响应中,永远也不应该这样做),如果需要,可以将此密钥存储在某种形式的(安全)缓存或存储中,以供以后使用(用途包括消息签名和(对称)加密)。

该软件包还提供了一个 APPelit\SRP\Http\AuthenticatesUsers 特性(模仿 Laravel 框架中同名的特性),该特性公开了 challengeresponse 方法,这些方法用作路由端点。为了不强制任何路由结构(或因此造成问题),路由本身未定义,应将其添加到 routes/web.php 和/或 routes/api.php 中。

该软件包为所需的 SRP 参数提供了一些合理的默认值,然而,建议使用您自己的参数。因此,该软件包提供了一个命令(srp:generate)来生成所需的值并将它们插入到您的 .env 文件中。建议使用 openssl dhparam(如果您不确定,请搜索它)来生成 N 和 g 参数,因为使用 PHP 生成就需要(非常)长时间,并且可能不太安全。您可以使用 -F [pathToFile] 开关提供生成的 dhparam.pem 文件,它将被解码并使用,而不是生成它。请注意,您必须配置客户端使用相同的值。

由于该软件包是围绕 "thinbus-srp-php" 软件包构建的,因此建议为前端实现使用 "thinbus-srp" npm 软件包。

警告 此软件包目前处于 alpha 版本,不应(尚)在生产环境中使用。

测试

注意 尚未实现测试,如果您使用此软件包并且知道如何编写测试,请随时贡献它们。

使用以下命令运行测试

vendor/bin/phpunit

变更日志

请参阅变更日志获取最近更改的更多信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件mark@appelit.com与我们联系,而不是使用问题跟踪器。

致谢

支持我们

APPelit是一家位于荷兰的IT公司。您可以在我们的网站上找到我们所有开源项目的概述这里

许可证

本项目为开源项目,并受MIT许可证许可。