首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过令牌/ API密钥保护api

问通过令牌/ API密钥保护api
EN

Stack Overflow用户
提问于 2020-07-10 12:01:37
回答 1查看 460关注 0票数 0

一个关于API安全性的新手问题:

当我从一些API提供者应用API服务时,通常我只是登录并在他们的api管理站点中生成一个api密钥或令牌。之后,我可以将这个API密钥或令牌嵌入到访问api的请求中。

我被告知这是OAuth 2,但在阅读了几篇关于OAuth 2的文章之后,从OAuth服务器发出的OAuth 2令牌似乎将过期,需要刷新令牌才能获取新令牌。

但是我从那些API提供程序获得的API密钥没有提到过期,而是可以在他们的API管理站点上手动撤销API密钥。

因此,如果我有一些api需要使用类似的方式(让用户在我的站点上管理自己的api密钥)来保护,那么如何通过使用OAuth 2服务器来实现呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-19 04:36:56

我认为您在上面解释的是两种不同的方式来批准请求:

A.使用API

  • 这些API键通常是在仪表板中生成的长字符串。
  • 作为开发人员,您通常在整个应用程序中都有一个API密钥,然后将这个API密钥附加到API提供程序的请求中。

B.使用OAuth 2.0

  • OAuth 2.0使用一种不同类型的令牌来授权请求,它通常涉及一个短暂的访问令牌和一个长寿命的刷新令牌。
  • 这些令牌通常是供用户使用的,每个用户将有不同的令牌,每X天到期一次。
  • 要获得令牌,用户必须“登录”到您的站点或身份提供者的站点(如Google帐户),并在令牌过期时输入他们的凭据。

这里有一张图片来显示不同之处:

​

​

如果您想为其他开发人员提供API服务:

  • 使用OAuth 2.0登录开发人员的仪表板(这意味着您与仪表板交互的服务器路由将受到OAuth 2.0令牌的保护,要求开发人员登录以更新某些设置)
  • 使用access访问您提供的API路由。开发人员必须登录并从仪表板生成API密钥。然后他们可以使用这个API密钥从您的API中获取资源。

这里有一个关于OAuth 2.0,访问令牌,以及如何在站点上实现它的更详细的解释。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62833894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档