1 |
73804802
|
Cajova-Houba
|
<?php
|
2 |
|
|
/**
|
3 |
|
|
* Created by PhpStorm.
|
4 |
|
|
* User: Zdenda
|
5 |
|
|
* Date: 29.4.2018
|
6 |
|
|
* Time: 10:20
|
7 |
|
|
*/
|
8 |
|
|
|
9 |
|
|
namespace App\Http\Controllers;
|
10 |
|
|
|
11 |
|
|
use \Firebase\JWT\JWT;
|
12 |
a800985e
|
Cajova-Houba
|
use Illuminate\Http\Request;
|
13 |
73804802
|
Cajova-Houba
|
|
14 |
|
|
class TokenController extends Controller
|
15 |
|
|
{
|
16 |
|
|
/**
|
17 |
|
|
* Vygeneruje nový token pro JWT autorizaci.
|
18 |
|
|
*/
|
19 |
a800985e
|
Cajova-Houba
|
public function generateToken(Request $request) {
|
20 |
73804802
|
Cajova-Houba
|
$duration = env('JWT_DURATION', 1800);
|
21 |
|
|
|
22 |
|
|
// parametry jwt
|
23 |
|
|
$iat = time();
|
24 |
|
|
$exp = $iat + $duration;
|
25 |
|
|
$iss = env('JWT_ISS', 'aswi-doprava');
|
26 |
|
|
|
27 |
|
|
// generovani tokenu
|
28 |
|
|
$key = env('JWT_SECRET', '');
|
29 |
|
|
$token = array(
|
30 |
|
|
'iss' => $iss,
|
31 |
|
|
'iat' => $iat,
|
32 |
a800985e
|
Cajova-Houba
|
'exp' => $exp,
|
33 |
|
|
'ipaddr' => $request->ip(),
|
34 |
|
|
'user-agent' => $request->header('User-Agent')
|
35 |
73804802
|
Cajova-Houba
|
);
|
36 |
|
|
|
37 |
a800985e
|
Cajova-Houba
|
$jwt = JWT::encode($token, $key, 'HS256');
|
38 |
73804802
|
Cajova-Houba
|
|
39 |
|
|
return $jwt;
|
40 |
|
|
}
|
41 |
|
|
}
|