如何将授权用户从一个应用程序传递到同一服务器上运行的另一个应用程序?

时间:2019-03-18 02:43:35

标签: asp.net authorization session-cookies

我的应用程序的架构是这样的。我有一个应用程序,它是许多其他应用程序的中心,允许用户传递凭据。检查凭据后,集线器应用程序将显示一个或多个允许用户使用的应用程序。如果用户只有一个应用程序,它将直接重定向到该应用程序。如何维护在中心应用程序中传递的用户的授权状态,并在子应用程序中再次访问它们?

1 个答案:

答案 0 :(得分:0)

没有“一种方法”可以做到这一点。但是,执行此操作的一种方法是,如果客户端成功登录,则向其提供Javascript Web令牌(JWT)。然后,如果客户端将JWT作为请求标头提供(通常是“ Authorization:Bearer JWT-here”),则服务器可以真实地知道发出请求的用户是谁。您可以将JWT保留在某种本地存储中像IndexDB这样可以在应用程序之间共享(假设使用相同的域URL),并在用户注销后将其删除。

此外,在不太明显的情况下,一定要使用HTTPS。有了LetsEncrypt的存在,没有任何借口会出现在2019年。

如果您正在使用Express.js,请使用express-jwt和jsonwebtoken软件包来完成此方案。