node.js - 实现客户端-服务器身份验证的最佳实践

标签 node.js oauth sails.js access-token

我正在寻找实现客户端-服务器身份验证(本地+社交)的最佳实践。 现在我正在分别开发后端和前端。早些时候我通过下一个流程进行了身份验证:

Sign in -> receive token -> call api

我还需要找到一种将 token 添加到黑名单中的方法。 技术堆栈:node.js (sails) 前端:角度

前端应用程序还应该可以调用多个服务器的 api。这意味着前端应用程序应该只在主服务器上登录一次,并且可以调用另一个 api。

我愿意接受开箱即用的解决方案。

最佳答案

如果您使用 JSON Web token (JWT) 作为 token :您可以在 token 中放置一个唯一的随机值作为 jti 声明。您将这些 jti 值存储在数据库中并将其用作黑名单。

如果您想了解有关具有 API 的单页应用程序的 JWT 最佳实践,请参阅我就此主题撰写的博客文章:Token Based Authentication for Single Page Apps

关于开箱即用的解决方案:我在 Stormapth 工作我们的Stormpath Angular SDK中有这样的解决方案.

关于node.js - 实现客户端-服务器身份验证的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29282286/

相关文章:

sockets - React + Sails + Socket.io

node.js - Mongoose:如何生成有效的 mongoose.Types.ObjectId?

node.js - 错误: Transaction rejected with non-error: undefined

ruby - 如何强制 Rack :session + sinatra to read "rack.session" from params instead of cookies

node.js - 如何编写 sails 函数以在 Controller 中使用?

javascript - SailsJS 测试进程是否已在运行

javascript - Node.jsemitter.removeListener(event,listener)的时间复杂度/效率

javascript - TypeScript 中的 Mongoose 方法范围

php - Oauth 1.0 - 连接到 Api

ios - Evernote iOS SDK - 如何使用 token 进行身份验证?