1010use Firebase \JWT \JWT ;
1111use Firebase \JWT \Key ;
1212use Lib \Authentication \Auth ;
13+
1314use function dd ;
1415use function getenv ;
1516use function http_response_code ;
@@ -20,36 +21,43 @@ class AdminRole implements Middleware
2021{
2122 public function handle (Request $ request ): void
2223 {
23- $ headers = getallheaders ();
24- if (!isset ($ headers ['Authorization ' ])) {
25- http_response_code (401 );
26- echo json_encode (["error " => "Token não fornecido " ]);
27- exit ();
28- }
29-
30- $ token = str_replace ('Bearer ' , '' , $ headers ['Authorization ' ]);
31- $ data = $ this ->validatesToken ($ token );
32- $ user = User::findById ($ data ['user_id ' ]);
33-
34- if ($ user ->role_id != 1 ) {
24+ $ headers = getallheaders ();
25+ if (!isset ($ headers ['Authorization ' ])) {
26+ http_response_code (401 );
27+ echo json_encode (["error " => "Token não fornecido " ]);
28+ exit ();
29+ }
30+
31+ $ token = str_replace ('Bearer ' , '' , $ headers ['Authorization ' ]);
32+ $ data = $ this ->validatesToken ($ token );
33+ $ user = User::findById ($ data ['user_id ' ]);
34+
35+ if ($ user ->role_id != 1 ) {
3536 header ('Content-Type: application/json ' , true , 401 );
3637 echo json_encode (['error ' => 'Acesso restrito a admnistradores ' ]);
3738 exit ;
3839 }
3940 }
4041
41- public function validatesToken ($ token ) {
42- $ key = $ _ENV ['PASSWORD_KEY_HASH ' ] ?? getenv ('PASSWORD_KEY_HASH ' );
42+ /**
43+ *
44+ * @param string $token
45+ * @return array<string, mixed>|null
46+ */
4347
44- if (!$ key ) {
45- return null ;
46- }
48+ public function validatesToken (string $ token ): ?array
49+ {
50+ $ key = $ _ENV ['PASSWORD_KEY_HASH ' ] ?? getenv ('PASSWORD_KEY_HASH ' );
51+
52+ if (!$ key ) {
53+ return null ;
54+ }
4755
48- try {
49- $ decoded = JWT ::decode ($ token , new Key ($ key , 'HS256 ' ));
50- return (array ) $ decoded ;
51- } catch (Exception $ e ) {
52- return null ;
56+ try {
57+ $ decoded = JWT ::decode ($ token , new Key ($ key , 'HS256 ' ));
58+ return (array ) $ decoded ;
59+ } catch (Exception $ e ) {
60+ return null ;
61+ }
5362 }
54- }
5563}
0 commit comments