JWT 可以跨不同的 AngularJS 应用程序使用吗?

Posted

技术标签:

【中文标题】JWT 可以跨不同的 AngularJS 应用程序使用吗?【英文标题】:Can JWT be used across different AngularJS Apps? 【发布时间】:2015-12-09 04:07:24 【问题描述】:

我有一个连接到 AngularJS 前端的 Laravel 5.1 API。

我可以这样做吗..

    拥有一个(托管在 mydomain/public 上)AngularJS 应用,其唯一目的是验证用户身份并从 Laravel API 后端获取 JWT 令牌

    以某种方式将相同的令牌传递给第二个(托管在 mydomain/secure)AngularJS 以验证用户和访问应用程序。

我知道令牌保存在本地存储中,所以我看不出我不能或必须将这两个应用程序合并在一起的原因。

干杯,

【问题讨论】:

【参考方案1】:

是的。它们与您定义的 Ng-App 或 Angular 应用程序实例的数量无关。

JSON Web 令牌如何工作??

浏览器或移动客户端向包含用户登录信息的身份验证服务器发出请求。身份验证服务器生成一个新的 JWT 访问令牌并将其返回给客户端。在对受限资源的每个请求中,客户端都会在查询字符串或授权标头中发送访问令牌。然后服务器验证令牌,如果有效,则将安全资源返回给客户端。

所以服务器逻辑不依赖于你的前端是单页还是多页。

您可以阅读这篇文章以获得更清晰的信息:

http://www.toptal.com/web/cookie-free-authentication-with-json-web-tokens-an-example-in-laravel-and-angularjs

【讨论】:

以上是关于JWT 可以跨不同的 AngularJS 应用程序使用吗?的主要内容,如果未能解决你的问题,请参考以下文章

带有 JWT 的 AngularJS 或 SPA - 到期和刷新

Angularjs Post没有将标头发送到Spring JWT

在 angularjs 身份验证中处理 JWT

使用 JWT 处理 401(未授权)angularjs 身份验证

laravel / angularjs JWT 令牌刷新

Laravel,AngularJS和SEO