Какие данные принадлежат токену-носителю при использовании аутентификации токена?

я использую Firebase PHP JWT в качестве основы для генерации токенов ресурсов, чтобы мы могли развернуть продукт на нескольких платформах. Для лучшей практики и удобства обслуживания я решил использовать OAuth для достижения этой цели благодаря доступности.

В настоящее время устройство будет перенаправлено на сервер (через браузер) для входа в систему, который запрашивает базовое имя пользователя, пароль и код безопасности. Я не хотел позволять устройству запрашивать имя пользователя и пароль и отправлять данные в сценарий из-за безопасности.

Устройство также отправляет объем в адресной строке как запрос GET для типа данных, необходимых устройству.

https://www.example.com/oauth/login
&scope=user.profile,user.messages

При успешном входе пользователя в систему с помощью JQuery magic внутри этой страницы загружается другая страница с просьбой разрешить или запретить области.

В случае успеха мой JSON Web Token создается следующим образом:

$secret = 'Some derived code unique to that user that authenticated';
$b64    = array('uuid' => 'The users ID', 'scopes' => array('Contains the scopes the user allowed'));

// Some code to store this key into the database cross-referenced to the uuid

http_response_code(200);
die(json_encode(\Firebase\JWT\JWT::encode($b64, $secret))); // or do I send as a header called Bearer?

Затем устройство отправит этот токен конечной точке сервера ресурсов, которая затем расшифрует его, предоставив мне подтвержденный UUID пользователя и возможности для отправки обратно.

Тем не менее, это не кажется безопасным. Если кто-то захочет, обязательно измените тело JWT (b64) и измените запрошенные области. Текущее решение, которое я придумал:

Сохраните области в базе данных рядом с токеном и uuid.

Тем не менее, проблема, с которой я сталкиваюсь, заключается в том, что мне тогда нужно вставить в токен на предъявителя? Какие данные нужно отправить для генерации токена?

Я посмотрел на этот вопрос но в нем не указано, какие данные должны быть зашифрованы в токене-носителе для использования сервером ресурсов.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector