Опция 3
A
генерирует случайный хэш и сохраняет его в таблице базы данных вместе с идентификатором сеанса (два поля).A
передает хэш каждому URL-адресу для B
, например `B /? Hash = x '
A
, проверяет, соответствует ли хеш-код в таблице базы данных, а также проверяет, является ли идентификатор сеанса все ещеАутентифицированный (возможно, вышел из системы или истек срок действия), а затем сообщает B
, хорошо это или нет.Например, A/verify?hash=x
.
Как вы говорите, B
не нужно знать ничего, кроме как аутентифицировано или нет.
Таким образом, идентификатор URL-адреса сеанса не передается в URL.что опять же, как вы говорите, не идеально.