【发布时间】:2017-11-21 22:41:58
【问题描述】:
我们有一个遗留系统,我们想把它带到 Angular 中。既然系统很大,我们就一步一步来,一个模块一个模块来。
现在,在我们完成整个系统之前,我们可能需要在 Angular SPA 和旧系统之间切换,因为正如我所读的那样,Angular 在应用程序中的运行并不好。
现在您如何处理身份验证? 在 SPA 端将是 JWT,并且有一个相应的端点将其转换为经过身份验证的用户。在遗留端存在会话。
但是如何处理切换上下文(在 SPA 和旧版之间)以同时使用 JWT and session cookie?我的猜测是存储 JWT 令牌和 cookie,并将两个系统保存在 Legacy 公共文件夹中,通过 Angular 进行身份验证,发送和存储两种类型。
有没有更好的方法来实现这一点?
【问题讨论】:
-
我有点不清楚你想要实现什么。您的 Angular SPA 是否也与某种后端进行通信?而且这个后端与您的旧系统是分开的,但是您想在两个后端都保留用户身份验证吗?两个系统都支持 session/cookies 和 JWT 吗?
-
不,遗留是后端和一个系统。当前具有现有基于会话的身份验证的 MVC。我们为 SPA 身份验证添加了 API 路由,由于系统非常庞大,我们无法工作 10 年才能将所有内容都放入 SPA,但需要两个系统使用相同的底层身份验证。 Angular 是一个新系统,它使用遗留系统中内置的 api。我希望这能让它更清楚。
-
我明白了。因此,您的 SPA 是纯前端,并使用您的旧 MVC 系统提供的身份验证 API,对吗?您的旧有其自己的前端实现,您希望跨两个系统保留身份验证信息?
-
是的,正确的。随着越来越多的功能转移到 SPA,两个系统都需要能够相互切换(当然,用户需要能够同时访问这两个系统)。最后,一个纯粹的 JWT 就足够了(或者那时的最佳实践)。与此同时,我们将在一段时间内让这两个系统相互链接。
标签: angular angular2-jwt angular2-cookie