如何在角应用程序中隔离特定的URL?

时间:2013-05-11 21:38:58

标签: javascript angularjs api express passport.js

在我的情况下,最佳做法是什么。

我有角度应用程序并使用passport.js表示后端API以进行授权。

例如,连接twitter我在express.js后端的“/ connect / twitter /”上有 GET

继续
app.get('/connect/twitter', passport.authorize('twitter-authz'));
角度应用中的

当我点击此链接请求不起作用时 - 它只是使用此网址更新浏览器地址栏。

如何隔离用于身份验证的网址?

1 个答案:

答案 0 :(得分:1)

如果您使用的是$locationProvider.html5Mode(true),Angular会拦截链接上的点击,以便为他们提供此行为。这些是该规则的例外情况:

  1. 为链接指定target属性。示例:<a href="/ext/link?a=b" target="_self">link</a>
  2. 链接到其他域。示例:<a href="http://angularjs.org/">link</a>
  3. 链接到以'/'开头的路径,在定义base时会导致不同的基本路径。示例:<a href="/not-my-base/link">link</a>
  4. 因此,最简单的答案可能是为链接提供target='_self'属性。

    有关详细信息,请参阅Using $location guide上的“Html链接重写”。