OAuth (токен доступа) и ключ API
Я встречал много статей, и многие предлагали использовать OAuth поверх API Key. Насколько я понимаю, в OAuth мы наконец-то получаем токен доступа, и он действителен в течение многих дней. Одним из примеров является то, что токен OAuth QuickBooks действует в течение 6 месяцев.
Таким образом, токен доступа эквивалентен API Key. Кто бы его ни получил, он должен быть защищен, как API-ключи. А вызовы OAuth должны выполняться через HTTPS, аналогично вызовам на основе API-ключа.
Другое преимущество перед OAuth - авторизация. Но мы можем сделать то же самое с моделью API Key. Например, мы можем определить правила в нашей базе данных, как эти ключи API могут получить доступ к этим API.
Теперь, каково реальное преимущество OAuth? Если мы реализуем OAuth, мы должны попросить всех наших клиентов установить библиотеки поддержки OAuth на их сервер. И это сложная задача для них, а также для нас. Тогда как в модели API Key это простой веб-вызов без дополнительных библиотек и сложностей.
Я намерен просто лучше понять OAuth, а не сравнивать и спорить с моделью API Key.
Замечания:
Я не говорю о модели Google и LinkedIn, где пользователи должны видеть и давать разрешения. Я просто говорю об API, которые мы предоставляем нашим собственным клиентам.
Заранее благодарны за Вашу помощь.
3 ответа
OAuth требуется только в том случае, если вы хотите, чтобы пользователь вашей службы разрешил стороннему клиентскому приложению получать доступ к его / ее данным, размещенным в вашей службе, не раскрывая свои учетные данные (идентификатор и пароль) для приложения.
То, что может сделать пара ключей API и секрета API, - это просто аутентификация клиентского приложения. Если вы можете разрешить аутентифицированному клиентскому приложению получать доступ к данным пользователя без явного согласия пользователя, вам не нужно использовать OAuth.
Ключи API предназначены для проектов / услуг, а токен используется для аутентификации пользователей. Наткнулся на очень хорошее объяснение. когда и зачем использовать ключ API
Ключи API предназначены для проектов/сервисов, а токен используется для аутентификации пользователей. Наткнулся на очень хорошее объяснение. когда и зачем использовать ключ API
Этот ответ вводит в заблуждение. В документе не говорится об общем понятии «Ключ API». В этом контексте «Ключ API» — это просто название метода аутентификации, определенного Google Cloud. Также проект не является общим понятием проекта, под проектом подразумевается конкретно проект Google Cloud.