我们自己的“前端 Web 应用程序”和“第三方自定义应用程序”可以针对 RESTful 后端进行身份验证吗?

Posted

技术标签:

【中文标题】我们自己的“前端 Web 应用程序”和“第三方自定义应用程序”可以针对 RESTful 后端进行身份验证吗?【英文标题】:Can Our Own "Frontend Web Application" & "Third Party Custom Applications" be authenticated against RESTful backend? 【发布时间】:2014-05-15 15:22:34 【问题描述】:

我目前正在开发 RESTful 后端并实现身份验证,我希望我的前端(Web 界面)和 api(第三方应用程序)都使用相同的后端。因为我对前端和 api 都有相同的功能集。

这是我目前正在考虑的方法:

1) REST API 应在安全标头部分查找两种不同类型的信息:

A:API 密钥 + API 签名 - 当第三方应用程序连接时 B:访问令牌 - 当前端应用程序连接时

其中任何一个都应该在场,而永远不要同时出现。

2) 在我们的 REST API 中也会有登录方法。它将用户名和密码作为输入并返回一个“访问令牌”作为响应。访问令牌的有效期应与用户为其自动注销功能指定的一样长。令牌应该只有一次并且根本无法猜测。

所以我的问题是正确的吗?还是有其他解决方案?请分享您的想法。

【问题讨论】:

【参考方案1】:

当然,我认为您应该检查一下 Keystone 框架。 Keystone 是 Openstack 身份验证框架,易于插入和您可能拥有的后端。您可以设置令牌权限和任何您想要的组。

http://docs.openstack.org/developer/keystone/

【讨论】:

以上是关于我们自己的“前端 Web 应用程序”和“第三方自定义应用程序”可以针对 RESTful 后端进行身份验证吗?的主要内容,如果未能解决你的问题,请参考以下文章

为什么专业工程师对前端开发不屑一顾?

Vuejs 前端 Web 应用程序如何与我的服务器位于同一主机/域中?

如何将环境变量传递给前端 Web 应用程序?

将 Azure App Service 应用程序设置传递给 SPA JS 应用程序

CORS 和 Spring MVC 服务 - 如何设置跨域主机?

如何从单个服务端点发出和验证 jwt?