juanchosl / tokenizer
一组用于身份验证的编码器/解码器令牌的小集合
1.0.3
2024-06-19 22:55 UTC
Requires
- php: ^7.1 || ^8.0
- ext-hash: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- juanchosl/exceptions: ^1.0
Requires (Dev)
- phpstan/phpstan: 1.10.*
- phpunit/phpunit: 9.6.*
This package is auto-updated.
Last update: 2024-09-19 23:30:46 UTC
README
描述
一组用于身份验证的编码器/解码器令牌的小集合
这是一个测试项目,用于检查直接从GitHub使用composer安装的情况
安装
composer require juanchosl/tokenizer
如何使用它
实体
系统使用一个CredentialInterface作为DTO,一个简单的具有用户名和密码的对象
所有凭证需要被推入一个CredentialsInterface集合中,一个可比较的用户序列。我们提供了一个简单的集合以便推送一些用户,但重要的是你创建自己的实现,以便在数据库中搜索用户,就像平常一样
在登录请求中,你需要在创建令牌之前确保用户名+密码验证
使用具体的Tokenizer
用于创建令牌
$options = [ JwtToken::OPTION_ISSUER => $_ENV['CYPHER_KEY'], JwtToken::OPTION_AUDIENCE => 'Restricted area' ]; $tokenizer = new JuanchoSL\Tokenizer\Repositories\JwtToken($options); $token = $tokenizer->encode(new Credential($username, $password));
用于解码令牌
$user_data = $tokenizer->decode($token);
用于检查令牌与之前检索的用户
$tokenizer->check($db_data, $token):
使用提供的服务
用于创建令牌
$options = [ JwtToken::OPTION_ISSUER => $_ENV['CYPHER_KEY'], JwtToken::OPTION_AUDIENCE => 'Restricted area' ]; $tokenizer = new JuanchoSL\Tokenizer\Repositories\JwtToken($options); $service = new Authentication($tokenizer, new Credentials); $service->authenticateByCredential($credential); return $service->generateToken($credential);
用于解码令牌
$options = [ JwtToken::OPTION_ISSUER => $_ENV['CYPHER_KEY'], JwtToken::OPTION_AUDIENCE => 'Restricted area' ]; $tokenizer = new JuanchoSL\Tokenizer\Repositories\JwtToken($options); $service = new Authentication($tokenizer, new Credentials); return $service->->authenticateByToken($token);