Я использую систему веб-токенов JWT. Я смог успешно сгенерировать токены.
Я создаю токены JWT в Laravel следующим образом
Я ИСПОЛЬЗУЮ СЛЕДУЮЩИЙ ТЕХНОЛОГИЧЕСКИЙ СТЕК
ОБРАЗЕЦ КОДА
use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;
class AuthenticateController extends Controller
{
public function authenticate(Request $request)
{
// grab credentials from the request
$credentials = $request->only('email', 'password');
try {
// attempt to verify the credentials and create a token for the user
if (! $token = JWTAuth::attempt($credentials)) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return response()->json(['error' => 'could_not_create_token'], 500);
}
// all good so return the token
return response()->json(compact('token'));
}
}
ОБРАЗЕЦ ВЫХОДА
Я собираюсь
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
ВОПРОС 1
Является ли сгенерированный токен УНИКАЛЬНЫМ?
JWT уникален тем, что для двух одинаковых пользователей не может быть сгенерирован одинаковый токен
В общем, JWT фактически заменяет комбинацию имени пользователя и пароля. Что это означает, вместо того, чтобы продолжать отправлять имя пользователя и пароль для каждого запроса на ограниченные ресурсы, сервер будет возвращать уникальный токен после проверки правильности учетных данных при первом входе пользователя в систему. После этого каждый запрос будет включать токен, который будет проверен как действительный или нет перед выполнением запроса.
Таким образом, если два пользователя входят и входят в систему с двумя действительными учетными данными, он получает два разных токена с сервера.