首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REST公共/安全体系结构

REST公共/安全体系结构
EN

Stack Overflow用户
提问于 2014-03-28 21:16:56
回答 1查看 1.5K关注 0票数 1

我正在设计一个REST,它将有一些可供公众使用的区域,而其他部分则可供私人使用(主要是管理员)。

例如,公共API允许显示产品列表,而不要求最终用户验证自己。因此,是web应用程序(或电话应用程序)对API进行身份验证。

而管理员应该能够登录,获得一个OAuth令牌,然后执行某些方法。

我使用WebAPI2.0/C#设计了api,但是原则保持不变。我目前正在使用ASP.NET标识,并向经过身份验证的用户提供访问令牌和刷新令牌,以便他们能够执行此类非公开调用。如果它们没有令牌,则无法访问API。

我将如何在公共API级别做到这一点?显然,我不想对最终用户进行身份验证,而是验证实际应用程序本身,即使调用是公开的,这样一些随机的John就不能只公开调用。

我确实意识到我们有客户Id和应用程序秘密。人们通常是这样认证公共电话的吗?我担心在每个电话中一次又一次地传递客户Id和秘密会违背目的。

任何关于这方面的建议都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-04 12:15:11

请阅读这篇关于满足最佳实践的RESTful web的文章:

http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#requirements

希望它能帮上忙

但是,正如我从您的问题中了解到的,您应该在相同的模型上分离管理操作和用户操作,并使管理操作只对他可用。不要与用户和管理员共享重要的操作。

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

https://stackoverflow.com/questions/22723358

复制
相关文章

相似问题

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