Recommend this page to a friend! |
![]() |
Info | Example | ![]() |
![]() |
![]() |
Reputation | Support forum | Blog | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not enough user ratings | Total: 138 | All time: 9,244 This week: 51![]() |
Version | License | PHP version | Categories | |||
ajax-login 1.0.0 | MIT/X Consortium ... | 7 | HTTP, Cryptography, User Management, W..., S..., A..., P... |
<?php |
Sistema de autenticação simples utilizando JSON Web Tokens (JWT).
Clone o repositório depois instale a dependencia abaixo Instale a biblioteca via composer:
composer require firebase/php-jwt
composer require bramus/router
composer update
Após a instalçao das dependências acima mencionadas, uma para gerenciar a criação e validação do token, a outra é para gerenciar rotas semelhante o que acontece com os principais frameworks, onde é capturado o metodo e o recurso e direciona para a função no contralador especifico.
Ao realizar o login, um token JWT é gerado para o usuário com base em suas credenciais. o frontend recebe o token caso a autenticação seja bem sucedida, e o javascript "x.js" a cada 1 minuto faz uma requisição para verificar o token e verificar as telas autorizadas pela passoa logada.
$key = "YOUR_SECRET_KEY";
$payload = [
"iss" => "localhost",
"aud" => "localhost",
"iat" => time(),
"exp" => time() + 3600, // Expira em 1 hora
"sub" => "[email protected]"
];
$jwt = JWT::encode($payload, $key);
Validação de Token Para validar o token recebido em requisições subsequentes:
$key = "YOUR_SECRET_KEY";
try {
$decoded = JWT::decode($token, $key, ['HS256']);
// Token é válido
} catch(Exception $e) {
// Token inválido
}
backend/Controller/UsuarioController.php: Contém a lógica para gerar e validar o JWT. backend/Router/: Roteamento e processamento das requisições HTTP.
const response = await fetch(urlBase+'backend/Router/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ email, senha: password,lembrar })
});
const data = await response.json();
if (data.status) {
sessionStorage.setItem('token', data.token);
window.location.href = "index.html";
}
![]() |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | HTML page | ||
![]() ![]() |
Data | HTML page | ||
![]() ![]() |
Data | HTML page | ||
![]() ![]() |
Data | HTML page | ||
![]() ![]() |
Data | HTML page | ||
![]() ![]() |
Doc. | Documentation | ||
![]() ![]() |
Data | HTML page |
![]() |
/ | backend |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Example | Example script |
![]() |
/ | backend | / | Controller |
File | Role | Description |
---|---|---|
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
/ | backend | / | Database |
File | Role | Description |
---|---|---|
![]() ![]() |
Data | Auxiliary data |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
/ | backend | / | Model |
File | Role | Description |
---|---|---|
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
/ | backend | / | Router |
File | Role | Description |
---|---|---|
![]() ![]() |
Example | Example script |
![]() ![]() |
Example | Example script |
![]() ![]() |
Example | Example script |
![]() ![]() |
Example | Example script |
![]() ![]() |
Example | Example script |
![]() |
/ | css |
File | Role | Description |
---|---|---|
![]() ![]() |
Data | Auxiliary data |
![]() ![]() |
Data | Auxiliary data |
![]() |
/ | img |
![]() |
/ | js |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data |
![]() |
/ | js | / | json |
File | Role | Description |
---|---|---|
![]() ![]() |
Data | Auxiliary data |
![]() ![]() |
Data | Auxiliary data |
![]() |
/ | vendor |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() ![]() |
Aux. | Auxiliary script |
![]() |
/ | vendor | / | bramus | / | router |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() ![]() |
Example | Example script | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Lic. | License text | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Doc. | Documentation |
![]() |
/ | vendor | / | bramus | / | router | / | .github | / | workflows |
File | Role | Description |
---|---|---|
![]() ![]() |
Data | Auxiliary data |
![]() |
/ | vendor | / | bramus | / | router | / | demo-multilang |
![]() |
/ | vendor | / | bramus | / | router | / | demo |
![]() |
/ | vendor | / | bramus | / | router | / | src | / | Bramus | / | Router |
File | Role | Description |
---|---|---|
![]() |
Class | Class source |
![]() |
/ | vendor | / | bramus | / | router | / | tests |
File | Role | Description |
---|---|---|
![]() ![]() |
Aux. | Auxiliary script |
![]() |
Class | Class source |
![]() |
/ | vendor | / | composer |
File | Role | Description |
---|---|---|
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() ![]() |
Data | Auxiliary data |
![]() ![]() |
Aux. | Auxiliary script |
![]() |
Class | Class source |
![]() ![]() |
Lic. | License text |
![]() ![]() |
Aux. | Auxiliary script |
![]() |
/ | vendor | / | firebase | / | php-jwt |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Lic. | License text | ||
![]() ![]() |
Doc. | Documentation |
![]() |
/ | vendor | / | firebase | / | php-jwt | / | src |
File | Role | Description |
---|---|---|
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
/ | vendor | / | phpmailer | / | phpmailer |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Example | Example script | ||
![]() ![]() |
Lic. | License text | ||
![]() ![]() |
Example | Example script | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data |
![]() |
/ | vendor | / | phpmailer | / | phpmailer | / | language |
File | Role | Description |
---|---|---|
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() ![]() |
Aux. | Auxiliary script |
![]() |
/ | vendor | / | phpmailer | / | phpmailer | / | src |
File | Role | Description |
---|---|---|
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
![]() |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.