Daftar dan Belajar Sekarang!

Error decode token

foto yusranpanca
7 Kontribusi 1 Coto
1 tahun yang lalu
Saya mau bertanya , saya sudah membuat REST API menggunakan slim framework , semua berjalan normal , tetapi setelah saya hosting, selalu gagal dalam memanggil routing yg memerlukan jwtmiddleware , selalu memberikan keterangan bahwa token salah , bisa dilihat digambar , mohon bantuannya teman teman  http://i.imgur.com/qxBy3m1.png  http://i.imgur.com/7OBzh4r.png

Tag: slim api

✔ Forum ini sudah terjawab


Jawaban
foto rachmatsasongko
410 Kontribusi 420 Coto
1 tahun yang lalu
hmm, sepertinya waktu sending response di bagian encoding kurang headernya. saya kurang familiar dengan slim framework, tapi mungkin bisa dicoba tambahin header Authorization
return $response->withHeader('Authorization', $jwt)
		->withJson([
			'succes' => true , 
			'message'=> 'SELAMAT!',
			'jwt' 	 => $jwt
		]);
answered icon
foto rachmatsasongko
410 Kontribusi 420 Coto
1 tahun yang lalu
Script buat encode sama decodenya gimana gan? Tampilin di sini juga supaya bisa dilihat.

foto yusranpanca
7 Kontribusi 1 Coto
1 tahun yang lalu
INI BAGIAN ENCODE
use \Firebase\JWT\JWT;

class UserController extends BaseController

{

	public function login($request, $response)

	{

		$username = $request->getParsedBody()['username'];
		$password = $request->getParsedBody()['password'];


		$user = User::where('username', $username) -> where('password',	 $password)->first();

		if(empty($user)){

			return $response->withJson([
				'succes' =>false , 
				'message'=>'username atau password salah'
				]);
		}


		$token = [
			"iss" =>"prognant",
			"iat" =>time(),
			"exp" =>time() + 60 * 60,
			"data" =>[
				"user_id" =>$user->id
				]

			];		

		$jwt = JWT::encode($token, getenv('API_KEY'));

		 	return $response->withJson([
				'succes' =>true , 
				'message'=>'SELAMAT!',
				'jwt' 	 => $jwt

				]);

	}
BAGIAN DECODE
<?php

namespace App\Middleware;

use \Firebase\JWT\JWT;

class JWTMiddleware
{

	public function __invoke($request, $response, $next)
	{

			$jwt = $request->getHeader('Authorization')[0];

		try{

			$decoded = JWT::decode($jwt, getenv('API_KEY'), array('HS256'));

			return $next($request, $response);


		}catch (\Exception $e){
			return $response->withJson([
				'success' =>false,
				'message' =>'token failed'
				], 401);

		}
	}
}
Terimakasih teman teman

foto rachmatsasongko
410 Kontribusi 420 Coto
1 tahun yang lalu
hmm, sepertinya waktu sending response di bagian encoding kurang headernya. saya kurang familiar dengan slim framework, tapi mungkin bisa dicoba tambahin header Authorization
return $response->withHeader('Authorization', $jwt)
		->withJson([
			'succes' => true , 
			'message'=> 'SELAMAT!',
			'jwt' 	 => $jwt
		]);

foto yusranpanca
7 Kontribusi 1 Coto
1 tahun yang lalu
@rachmatsasongko, terimakasih mas , tapi hostingan ny lagi error , terimaskih sudah menjawab mas


Login untuk diksusi di forum sekolah koding