juanchosl/tokenizer

一组用于身份验证的编码器/解码器令牌的小集合

1.0.3 2024-06-19 22:55 UTC

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);