首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保护由客户端的最终用户调用的API

保护由客户端的最终用户调用的API
EN

Stack Overflow用户
提问于 2019-02-27 16:48:51
回答 1查看 65关注 0票数 0

我正在构建一个API,旨在出售给各种客户。这些客户端将获得一个API密钥或类似的东西,他们将在其网站上的小部件中使用API。

客户网站的最终用户必须能够匿名使用该小部件(无需登录)。

工作流程:

我现在的想法是让客户端的服务器检索一个临时密钥,并在网页中使用它。最终用户的浏览器将使用该临时密钥来调用我们的API。

这不是一个好的实践和/或不安全的原因吗?

或者是否有更好的良好实践解决方案?例如,我可以使用OAuth 2来做这件事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-28 05:05:10

您需要从客户端应用程序保护您的API。因此,您可以使用具有客户端凭据的OAuth 2授予类型,并将每个客户端设置为一个应用程序,以便每个客户端都获得自己的密钥/秘密凭据集。

由于您对最终用户一无所知,但仍然需要跟踪他们,因此在对您的应用程序接口的每个请求上都需要一个endUserId自定义头,并且您只需要信任客户端为发出请求的最终用户提供一个有效的id。

要设置OAuth,请使用现有的库或OAuth服务。我不推荐你自己写。如果你能花点钱,OktaAuth0是不错的选择。如果您的应用编程接口是用.net编写的,您可以免费使用IdentityServer

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

https://stackoverflow.com/questions/54901371

复制
相关文章

相似问题

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