baraja-core/structured-api-token-authorizator

此包最新版本(v1.3.1)没有可用的许可信息。

一个简单的令牌授权器,用于验证HTTP请求。

v1.3.1 2022-02-01 13:01 UTC

README


BRJ 组织

结构化API令牌授权器

Integrity check

一个简单的令牌授权器,用于验证HTTP请求。

此包是 Baraja 结构化API 的官方扩展。

📦 安装

建议使用 Composer 进行安装,您也可以在 PackagistGitHub 上找到此包。

要安装,只需使用以下命令

$ composer require baraja-core/structured-api-token-authorizator

您可以通过创建内部类的实例手动使用此包,或注册DIC扩展以将服务直接链接到Nette框架。

简单用法

使用Composer安装此包,并注册DIC扩展(如果您使用 Baraja 包管理器,它将自动注册)。

手动使用扩展定义

extensions:
   tokenAuthorizator: Baraja\TokenAuthorizator\TokenAuthorizatorExtension

此包将自动禁用默认的系统方法,通过Nette User验证请求,并需要令牌验证。

令牌是查询参数中的任何有效字符串 token,或者在POST请求的BODY中(在这种情况下)。令牌作为端点调用参数进行评估,可以作为字符串传递给目标端点。

请求验证

如果您不使用自己的令牌验证实现,则默认使用 SimpleStrategy,您可以通过NEON配置来配置令牌。

如果您没有设置令牌,则所有请求(甚至没有令牌的请求)都将被视为有效。

简单配置示例

tokenAuthorizator:
   token: abcd

此配置接受以下请求:/api/v1/user?token=abcd

端点级别令牌验证

令牌使用在端点级别进行验证。默认情况下,所有端点都启用了访问权限,并由baraja-core/structured-api包中定义的 PublicEndpoint 属性管理。

如果您想在端点中要求令牌验证,请直接在端点定义上方设置属性。

例如

#[PublicEndpoint(requireToken: true)]
class ArticleEndpoint extends BaseEndpoint
{
}

自定义认证

如果您需要更复杂的认证逻辑,请实现一个实现 VerificationStrategy 接口的服务,并将其与DIC注册。当所有请求都进行验证时,将自动调用此服务。

📄 许可证

baraja-core/structured-api-token-authorizator 使用MIT许可证。有关详细信息,请参阅 LICENSE 文件。