В итоге мы пошли со следующим ....
Соль, известная приложению Имя пользователя пользователя Текущая дата / время + 5 секунд
объединяют вышеперечисленное в конкретномпорядок в виде строки и MD5-хэш.
У нас есть специальный URL-адрес, который они могут использовать в качестве хеша в качестве параметра строки запроса.
Мы сравниваем хэш с 5 хешами, сгенерированными в то времязапроса (один для текущей секунды и один для каждой из предыдущих 4 секунд).Если хэш параметра QS соответствует одному из этих 5 сгенерированных хэшей, мы принимаем запрос и выполняем соответствующие действия.
В нашем API есть метод, который возвращает URL с уже примененным хэшем.Клиенты API могут затем отправить свой запрос по указанному URL-адресу немедленно.Любые запросы, сделанные более чем через 5 секунд после получения URL-адреса, отклоняются.
Таким образом, у нас есть ключ, действительный только в течение 5 секунд с момента его создания.
Это позволяет нампредоставить пользователям возможность «автоматического входа» на свой сайт из API-клиента.Клиент запрашивает URL-адрес для входа в систему (который поставляется вместе с хэшем), а затем сразу же направляет веб-браузер пользователя на этот URL-адрес.URL обрабатывает запрос, проверяет хеш и, если он действителен, устанавливает cookie для входа в систему и перенаправляет их на страницу администратора.
Простой, эффективный и, поскольку все наши запросы API по SSL, безопасный.