Я читаю, как реализовать единый вход между двумя сайтами, и наткнулся на этот пример. http://dev.assistly.com/docs/portal/multipass. В основном один сайт передает зашифрованный JSON-хэш, содержащий идентификатор пользователя, срок действия логина и некоторую другую информацию о клиенте. Хеш создается с использованием ключа сайта в качестве пароля и ключа API в качестве соли.
Насколько я понимаю, алгоритмы хеширования работают в одном направлении. Например, сайт № 2 может хешировать те же значения и сравнить результат с хэшем, переданным сайтом № 1, чтобы определить, является ли он подлинным и действительным. Однако сайт № 2 не может отменить хешированное значение, переданное сайтом № 1, чтобы определить, какие значения были использованы.
Вот мой вопрос. В примере SSO, который я связал и описал выше, вся информация предположительно распределяется между двумя сайтами до входа в систему. Например, оба сайта предположительно знают идентификатор пользователя, пароль, соль и т. Д. Однако я предполагаю, что значение даты и времени истечения отличается для каждого вхождения в систему. Если дата и время истечения срока действия меняются при каждом входе в систему, и если это не то, что может быть предварительно разделено между двумя сайтами, не будет ли для сайта № 2 невозможно проверить хэш, который он получает от сайта № 1?
Я, должно быть, что-то упустил в моем понимании того, как это работает. Или, возможно, я делаю ошибочные предположения. Пожалуйста, объясни. Спасибо!