如何在2个angularjs应用程序之间共享数据?

时间:2015-11-02 23:55:49

标签: javascript angularjs asp.net-web-api

我有2个角度应用程序连接到同一个后端。

  1. account.myweb.com用于登录,注册和管理帐户
  2. app.myweb.com是真正的应用程序。
  3. 成功登录account.myweb.com后,用户将获得访问令牌和用户详细信息,并将重定向到app.myweb.com。 app.myweb.com需要此访问令牌。如何在2个应用程序之间共享数据?

3 个答案:

答案 0 :(得分:0)

您可以使用$ cookies:https://docs.angularjs.org/api/ngCookies/service/ $ cookies

或者,我们使用results.results[0].markers[i] 。它运作良好。 https://github.com/grevory/angular-local-storage

答案 1 :(得分:0)

看来我们可以使用iframe和postmessage欺骗本地存储以允许跨域。 Theres角度模块为它。 https://github.com/ofirdagan/cross-domain-local-storage

答案 2 :(得分:0)

Cookie可以在子域之间共享。在您的情况下,您可以在2个应用之间共享相同的令牌。成功登录后存储令牌如下

$cookies.put('tokenName', 'tockenValue', { domain: '.myweb.com' });

然后您可以访问此令牌。

注意 - 如果您的应用使用低于1.3的角度版本运行,则无法将Cookie设置为特定域。因此你必须使用

 $document[0].cookie = "tokenName"+ "=" + "tockenValue"+ ";domain=.myweb.com";