Я уже вызвал маркер из моего апи логина, используя этот код:Как обрабатывать Тонкий API JWT Authentication
if ($isCorrect == 1) {
$key = "example_key";
$token = array(
"iss" => "http://mywebsite.com",
"iat" => 1356999524,
"nbf" => 1357000000,
'data' => [
'userName' => $UserName,
]
);
$jwt = JWT::encode($token, $key);
$decoded = JWT::decode($jwt, $key, array('HS256'));
$unencodedArray = ['jwt' => $jwt];
echo json_encode($unencodedArray);
}
Так что я фишка сейчас, как я могу использовать маркер другой API? То, что я имею в виду, я не кто-нибудь хочет, чтобы выполнить эту апи без регистрации
Это мой метод выборки API:.
$app->get('/api/user/{UserId}', function($request){
//Select query here
});
Это библиотека я использовал: https://github.com/firebase/php-jwt
Спасибо очень много для вашей помощи.
«Я не хочу, чтобы кто-нибудь выполнял эту апи, не входив в систему ». Я не понимаю, что вы имеете в виду. Получение JWT проходит процесс входа в систему. Вы пытаетесь использовать несколько уровней аутентификации? Или спрашивать о том, как проверить пользователя, кто они такие, и, следовательно, можно безопасно получить JWT, который идентифицирует их (этот вопрос будет * очень * широко)? – HPierce
Что я имею в виду, так это то, что мой API может получить доступ кем угодно, поэтому, если у меня есть метод удаления, любой может выполнить это без входа в систему/создания JWT. – Joseph
Вы можете использовать промежуточное программное обеспечение для проверки подлинности JWT: https://github.com/tuupola/slim-jwt-auth –