实施客户端 – 服务器authentication的最佳实践

我正在寻找实施客户端 – 服务器身份validation(本地+社交)的最佳实践。 现在我正在分别开发后端和前端。 之前,我通过下一个stream程进行了身份validation:

login – >接收令牌 – >调用API

我需要find一种方法将标记添加到黑名单中。 Tech stack:node.js(sails)front-end:angular

前端应用程序也应该可以调用多个服务器的API。 这意味着前端应用程序只能在主服务器上login一次,并可以调用另一个API。

我打开了现成的解决scheme。

如果您使用JSON Web Tokens(JWT)作为您的令牌:您可以将一个唯一的随机值作为标记中的jti声明。 您将这些jti值存储在数据库中,并将它们用作黑名单。

如果您想阅读有关使用API​​的单页面应用程序的JWT最佳实践,请参阅我撰写的关于此主题的博客文章: 基于令牌的单页面应用程序validation

关于开箱即用的解决scheme:我在Stormapth工作,我们在Stormpath Angular SDK中有这样的解决scheme。