authentication - 跨平台登录

标签 authentication coldfusion cross-platform node.js

我正在开发一个应用程序,其中所有用户身份验证都在 ColdFusion 应用程序(基于 CFWheels)中进行,但与文件服务器的交互通过 Node.js 应用程序进行。我需要确保允许登录 CF 应用程序的用户访问 Node 服务器中的文件。我正在考虑使用 CFToken 或 Node 服务器可以读取并传递给 ColdFusion 的东西来设置 cookie,询问“嘿,这个 token 可以访问这个文件吗”

我唯一的问题是我不确定 CFTokens 最终是否会被重新使用,如果它们是我应该使用什么?

如果其他人有其他方法来做这种需要跨多个引擎重复使用的事情,我很想听听你的策略。

最佳答案

这听起来是个不错的方法。

但是,我只会使用 CFCOOKIE 来设置您自己设计的 cookie。

当然,这两个服务器必须共享一个域名才能读取同一个 cookie。您还必须将 cookie 设置为域 cookie。

一种简洁的架构方法是创建一个专门用于安全性的完整 CFC。

它将具有生成和验证登录 token 的方法。

您的 CF 应用程序将使用它来生成 token ,并且您可以让您的 node.js 应用程序使用

http://server.com/path/security.cfc?method=validateToken&token=whatever

一个更有效的方法,假设他们可以访问相同的数据存储,将使用相同的算法来生成/解码(如果需要)两个系统中的 token ,并让 node.js 应用程序直接访问数据存储。

当我需要这样做时,我们将“ session ” token 存储在 mongodb 中,并直接从每个应用程序(CF、Java 和 Rails)访问数据存储。 CF 系统负责初始身份验证。另外两个系统不做认证,只是验证token,如果没有找到/无效/等,以适当的方式响应。

关于authentication - 跨平台登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5043310/

相关文章:

python - 如何在 python 中检查平台不兼容的文件夹(文件)名称

asp.net-mvc - 具有应用内授权的 OWIN WsFederation 身份验证

Django:如何在密码重置/更改后销毁用户 session ?

java - Spring Security Cookie + JWT 认证

c# - 仅排除特定平台上的单元测试

php - 在离线/桌面应用程序中呈现网页内容

javascript - NodeJS 和 Express 身份验证中间件无法正常运行

cmd - CFEXECUTE 指定它以管理员权限运行

javascript - 如何在动态表中创建唯一的ID?

jquery - Coldfusion CFC 在 Jquery 中返回 JSON 显示,如何处理来自 CFC 的多条记录并在 Jquery 中显示?