1
|
<?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
|
use Illuminate\Http\Request;
|
13
|
|
14
|
class TokenController extends Controller
|
15
|
{
|
16
|
/**
|
17
|
* Vygeneruje nový token pro JWT autorizaci.
|
18
|
*/
|
19
|
public function generateToken(Request $request) {
|
20
|
$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
|
'exp' => $exp,
|
33
|
'ipaddr' => $request->ip(),
|
34
|
'user-agent' => $request->header('User-Agent')
|
35
|
);
|
36
|
|
37
|
$jwt = JWT::encode($token, $key, 'HS256');
|
38
|
|
39
|
return $jwt;
|
40
|
}
|
41
|
}
|