【发布时间】:2017-10-11 20:36:15
【问题描述】:
我需要将使用 VB.net、Java、C#、C++、Node.js 和其他现代语言制作的应用程序中的数据推送到我们的服务器。这些应用程序在零售商店中运行,我们的服务是 3 方服务。我计划提供 REST API 来推送数据,但我关心的是如何验证单个商店。
我认为使用 AWS 方式的方法之一:此处概述的 AccessKey 和 Secret Key 方法: http://docs.aws.amazon.com/AmazonS3/latest/dev/S3_Authentication2.html
每个商店可以有多个计费机器/计算机 --> 那么什么是更好的身份验证方法,因为 AWS 方式需要将密钥从我们的界面粘贴到他们的本地机器设置(此时我假设我们的服务将直接从前端应用程序而不是后端服务器调用。
我很困惑如何解决这个问题 - 如果 REST API 调用应该从前端或后端服务进行,如果它的前端我该如何对商店进行身份验证。
【问题讨论】:
-
看看 OAuth2、OpenID Connect、IdentityServer 之类的东西。如果您想让您的生活更轻松一些并且避免自己托管身份验证/身份验证,可以使用云解决方案,例如 this。
-
谢谢@WimOmbelets。我阅读了有关 OAuth2 和不同授权的信息 - 使用密码授权是否是一个好主意,其中用户名和密码可以以交互方式获取 - 它也支持刷新令牌。我首先使用开源库创建原型。在我的情况下,授权服务器和资源服务器将由同一家公司托管。密码授权也将有助于避免 URI 重定向与其他授权类型的问题。我为 Node.js 找到了 node-oauth2-server。您对 Node.js 作为后端还有其他建议吗?
-
不,抱歉,我对 node 了解不够,无法给您任何明智的建议。
标签: c# vb.net rest authentication