我创建了一个控制器“Login”以成功创建下面的令牌,但我不知道如何为另一个控制器捕获该令牌
<?php
namespace App\Controllers;
use CodeIgniter\RESTful\ResourceController;
use CodeIgniter\API\ResponseTrait;
use App\Models\UserModel;
use Firebase\JWT\JWT;
class Login extends ResourceController
{
/**
* Return an array of resource objects, themselves in array format
*
* @return mixed
*/
use ResponseTrait;
public function index()
{
helper(['form']);
$rules = [
'email' => 'required|valid_email',
'password' => 'required|min_length[6]'
];
if (!$this->Validate($rules)) return $this->fail($this->validator->getErrors());
$model = new UserModel();
$user = $model->where("email", $this->request->getVar('email'))->first();
if (!$user) return $this->failNotFound('Email Tidak Ditemukan');
$verify = password_verify($this->request->getVar('password'), $user['password']);
if (!$verify) return $this->fail('wrong Password');
$key = getenv('TOKEN_SECRET');
$payload = [
// issue at : kapan token dibuat
'iat' => 1356999524,
// non before : kapan expired
'nbf' => 1357000000,
'uid' => $user['id'],
'email' => $user['email'],
];
$token = JWT::encode($payload, $key, 'HS256');
return $this->respond($token);
// return redirect()->to(base_url('/me', $token));
}
}
我希望知道如何将令牌从一个控制器传递到另一个控制器
1条答案
按热度按时间hfsqlsce1#
令牌不能被传递给不同的控制器,相反,客户端(我假设您在API中工作)应该将令牌作为参数或头部发送。