Projekt

Obecné

Profil

Stáhnout (878 Bajtů) Statistiky
| Větev: | Revize:
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
}