devmatheusguerra/jwt 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

devmatheusguerra/jwt

Composer 安装命令:

composer require devmatheusguerra/jwt

包简介

Uma biblioteca PHP para facilitar a utilização de autenticação JWT.

README 文档

README

Release Version

Pacote PHP que implementa JSON Web Token.

Uso simples

require 'vendor/autoload.php';
use Devmatheusguerra\JWT\JWT;

$jwt = new JWT();
$data = new stdClass();
$data->name = 'Devmatheusguerra';
$data->email = 'teste@gmail.com';

$token = $jwt->generate($data);

1. Configurações Iniciais

Será necessária a criação de duas constantes globais. Você poderá defini-las num arquivo config.php, por exemplo.

CONSTANTE TIPO Valores Aceitos
SECRET_KEY_JWT string Qualquer valor.
ALGORITHM_JWT string HS256, HS384, HS512

2. Método generate()

Possui um parâmetro não obrigatório que corresponde ao dados personalizados que devem ser inseridos no payload do JWT. Caso queira ver mais sobre claim names clique aqui.

Por padrão já serão declarados alguns claim names:

  • iss: Receberá o endereço do host ou localhost.
  • ip: Receberá o endereço IP do solicitante.
  • iat: Utilizará o instante atual da chamada da função em UNIX TIMESTAMP.
  • exp: por padrão o token irá expirar em 24 horas após a chamada.

OBS.: Esses poderão ser sobre escritos.

Parâmetros

Nome Tipo Obrigatório
data stdClass Não

Retorno

Retorna uma string correspondente ao token gerado.

3. Método verify()

Possui um parâmetro obrigatório que corresponde ao token que foi recebido através da requisição do cliente.

Parâmetros

Nome Tipo Default Obrigatório
token string - Sim
ip boolean false Não

Retorno

Retorna um stdClass. Se o parâmetro ìp estiver false será analisada se a assinatura do token é válida e se o token não expirou. Do contrário, a requisição também deverá vir da mesma origem cujo token foi gerado.

Possíveis retornos.

ip != $_SERVER['REMOTE_ADDR']
message => Invalid IP 
status => 403
response => false
signature != token_signature
message => Invalid signature'
status => 403
response => false
exp > now()
message => Token expired
status => 403
response => false
Nenhuma das anteriores
message => Token valid
status => 200
response => true

4. Método getClaims()

Possui um parâmetro obrigatório que corresponde ao token que foi recebido através da requisição do cliente.

Parâmetros

Nome Tipo Obrigatório
token string Sim
token string Sim

Retorno

Retorna uma stdClass contendo o payload do token.

5. Constantes

Buscando otimizar o tempo, alguns dos Status HTTP foram trazidos para a classe.

VALOR HTTP STATUS CODE
FORBIDDEN 403
UNAUTHORIZED 401
BAD_REQUEST 400
SUCCESS 200
CREATED 201

Exemplo de uso.

$tokenValido = $jwt->verify($token_recebido);
if($tokenValido)
	http_response_code(JWT::CREATED);
else
	http_response_code(JWT::FORBIDDEN);

devmatheusguerra/jwt 适用场景与选型建议

devmatheusguerra/jwt 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 12 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 09 月 01 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 devmatheusguerra/jwt 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 devmatheusguerra/jwt 我们能提供哪些服务?
定制开发 / 二次开发

基于 devmatheusguerra/jwt 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 12
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 8
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-09-01