Как вы настраиваете систему ключей API для своего веб-сайта?
-
09-06-2019 - |
Вопрос
Допустим, у меня есть веб-сайт с некоторой информацией, к которой можно получить доступ извне.Эта информация должна быть изменена только уважаемым клиентом.Пример:Ключ API Google Analytics или WordPress.Как я могу создать систему, которая работает подобным образом (независимо от языка программирования)?
Решение
Несколько умных людей работают над стандартом, и он называется OAuth.В нем уже есть ряд примеры реализаций, так что начать довольно легко.
Другие советы
Здесь это документ по дизайну API.
Простой:
- Сгенерируйте ключ для каждого пользователя
- Запрещать доступ для каждого запроса без этого ключа
В настоящее время я использую конкатенацию нескольких MD5 с солью.MD5 генерируются на основе различных конкатенаций пользовательских данных.
Хорошим способом генерации ключа было бы сохранить GUID (глобально уникальный идентификатор) для каждой записи пользователя в базе данных.GUID будет уникальным, и его практически невозможно угадать.
Существуют также инфраструктурные сервисы, которые управляют всем этим за вас. http://www.3scale.net (раскрытие информации: я там работаю), http://www.mashery.com и http://www.apigee.com/.