通过 token/api 键保护 API
Protect the API by token/api key
关于 API 安全性的新手问题:
当我从一些 API 提供商那里申请 API 服务时,通常我只是登录并在他们的 api 管理站点中生成一个 api 密钥或令牌。之后,我可以在访问 API.
的请求中嵌入此 api 密钥或令牌
有人告诉我这是 OAuth 2。但是,在阅读了一些关于 OAuth 2 的文章后,似乎从 OAuth 服务器发出的 OAuth-2 令牌将过期并且需要刷新令牌才能获取新的令牌。
但是我从那些 API 提供者那里得到的 API 密钥没有提到过期,相反,我可以手动撤销他们 API 上的 API 密钥管理站点。
所以,如果我有一些 API 想要使用类似的方式(让用户在我的网站上管理他们自己的 api 密钥)来保护,我该如何实现通过使用 OAuth 2 服务器?
我认为您上面解释的是授权请求的两种不同方式:
一个。使用 API 键
- 这些 API 键通常是您在仪表板中生成的长字符串
- 作为开发人员,您通常会在整个应用程序中拥有 1 个 API 密钥,并且您将此 API 密钥附加到对 API 提供程序
的请求中
乙。使用 OAuth 2.0
- OAuth 2.0 使用不同类型的令牌来授权请求,它通常涉及短期访问令牌和长期刷新令牌。
- 这些令牌通常供用户使用,每个用户都会有不同的令牌,每 X 天过期一次。
- 要获取令牌,用户必须“登录”到您的网站或身份提供商的网站(如 Google 帐户),并在每次令牌过期时输入他们的凭据。
这里用一张图片来说明区别:
如果您想为其他开发者提供API服务:
- 使用 OAuth 2.0 登录开发人员 到他们的仪表板(这意味着与仪表板交互的服务器路由将受到 OAuth 2.0 令牌的保护,要求开发人员登录以更新一些设置)
- 使用 API 键访问您提供的 API 路线。开发人员必须登录并从仪表板生成 API 密钥。然后他们可以使用此 API 密钥从您的 API.
获取资源
这里有关于 OAuth 2.0, access tokens, and how to implement it on your site 的更详尽的解释。
关于 API 安全性的新手问题:
当我从一些 API 提供商那里申请 API 服务时,通常我只是登录并在他们的 api 管理站点中生成一个 api 密钥或令牌。之后,我可以在访问 API.
的请求中嵌入此 api 密钥或令牌有人告诉我这是 OAuth 2。但是,在阅读了一些关于 OAuth 2 的文章后,似乎从 OAuth 服务器发出的 OAuth-2 令牌将过期并且需要刷新令牌才能获取新的令牌。
但是我从那些 API 提供者那里得到的 API 密钥没有提到过期,相反,我可以手动撤销他们 API 上的 API 密钥管理站点。
所以,如果我有一些 API 想要使用类似的方式(让用户在我的网站上管理他们自己的 api 密钥)来保护,我该如何实现通过使用 OAuth 2 服务器?
我认为您上面解释的是授权请求的两种不同方式:
一个。使用 API 键
- 这些 API 键通常是您在仪表板中生成的长字符串
- 作为开发人员,您通常会在整个应用程序中拥有 1 个 API 密钥,并且您将此 API 密钥附加到对 API 提供程序 的请求中
乙。使用 OAuth 2.0
- OAuth 2.0 使用不同类型的令牌来授权请求,它通常涉及短期访问令牌和长期刷新令牌。
- 这些令牌通常供用户使用,每个用户都会有不同的令牌,每 X 天过期一次。
- 要获取令牌,用户必须“登录”到您的网站或身份提供商的网站(如 Google 帐户),并在每次令牌过期时输入他们的凭据。
这里用一张图片来说明区别:
如果您想为其他开发者提供API服务:
- 使用 OAuth 2.0 登录开发人员 到他们的仪表板(这意味着与仪表板交互的服务器路由将受到 OAuth 2.0 令牌的保护,要求开发人员登录以更新一些设置)
- 使用 API 键访问您提供的 API 路线。开发人员必须登录并从仪表板生成 API 密钥。然后他们可以使用此 API 密钥从您的 API. 获取资源
这里有关于 OAuth 2.0, access tokens, and how to implement it on your site 的更详尽的解释。