Защитите API токеном / ключом API - PullRequest
0 голосов
/ 10 июля 2020

Новый ie вопрос о безопасности API:

Когда я применял службу API от некоторых поставщиков API, обычно я просто вхожу в систему и генерирую ключ API или токен на их сайте управления API. После этого я могу встроить этот ключ api или токен в запрос на доступ к API.

Мне сказали, что это OAuth 2. Но после прочтения нескольких статей о OAuth 2 кажется, что OAuth- 2, выданный с сервера OAuth, истечет, и для получения нового токена требуется refre sh.

Но ключи API, которые я получил от этих поставщиков API, не упоминают об истечении срока действия, вместо этого я может вручную отозвать ключ API на своем сайте управления API.

Итак, если у меня есть некоторые API, которые я хочу использовать аналогичным образом (пусть пользователь управляет своим собственным ключом API на моем сайте), чтобы защитить, как Могу ли я добиться этого с помощью сервера OAuth 2?

1 Ответ

1 голос
/ 19 июля 2020

Я думаю, что то, что вы объяснили выше, - это 2 разных способа авторизации запроса:

A. Использование ключей API

  • Эти ключи API обычно представляют собой длинную строку, которую вы генерируете на панели инструментов
  • Вы, как разработчик, обычно имеете 1 ключ API во всем приложении, и вы добавляете этот ключ API к запросам поставщику API

B. Использование OAuth 2.0

  • OAuth 2.0 использует другой тип токена для авторизации запросов, обычно он включает краткосрочный токен доступа и долгоживущий токен refre sh.
  • Эти токены обычно предназначены для пользователей, у каждого пользователя будет свой токен, срок действия которого истекает каждые X дней.
  • Чтобы получить токен, пользователь должен «войти» на ваш сайт или сайт провайдера идентификации ( например, учетные записи Google) и вводите свои учетные данные каждый раз, когда истекает срок действия токена.

Вот изображение, чтобы показать разницу:

OAuth 2.0 vs API Keys

If you want to provide an API service for other developers:

  • Use OAuth 2.0 to log in the developers to their dashboard (this means your server routes that interact with the dashboard would be protected by the OAuth 2.0 tokens, requiring the developer to log in to update some settings)
  • Use API Keys to access your provided API routes. Developers have to log in and generate API keys from the dashboard. Then they can use this API key to fetch resources from your API.

Here's a more thorough explanation about OAuth 2.0, токены доступа и как реализовать на своем сайте .

...