【问题标题】:AngularJS with web API authentication具有 Web API 身份验证的 AngularJS
【发布时间】:2015-07-22 14:26:26
【问题描述】:

我最近开始学习 AngularJS,我正在尝试创建一个简单的登录系统。为授权创建和存储 cookie 的一些方法看起来比我以前使用的 .net 方法复杂得多,所以我的第一个想法是通过调用 API 并保持角度 UI 来继续使用该身份验证方法远离这一切。

这个选项是在这篇文章中建议的 -

How to handle authentication in Angular JS application

但是,当我尝试实现此功能时,它可以很好地进行身份验证,但不会保存此 cookie。如果我再次访问 API 并尝试引用 cookie 之类的任何操作,

FormsAuthentication.GetAuthCookie(userName, createPersistentCookie);

它只会说那里什么都没有。

有没有一种简单的方法可以在我不使用的 API 中保留这个 cookie?

【问题讨论】:

  • 使用 SPA 和 Web 应用程序进行身份验证的新标准是使用 JSON Web 令牌 (JWT)。使用 JWT,您的所有安全信息都被封装在一个可以加密的令牌中,并且所有身份验证数据都可以在任一端进行序列化,包括声明、角色、授权等。

标签: angularjs asp.net-mvc cookies asp.net-web-api


【解决方案1】:

您可以这样做,这也可以让您在 auth cookie 中包含自定义信息。

https://stackoverflow.com/a/10524305/1121845

【讨论】:

  • 您好,感谢您的回复。直到明天我才能尝试这个,但我认为不同之处在于 HttpCookie 应该在 API 调用之间保持持久性,这与 FormsAuthentication AuthCookie 不同?
  • 是的,FormsAuthentication.GetAuthCookie 方法只创建一个新的cookie。它不会让您获得较早制作的 cookie。另一方面,Response.Cookies[FormsAuthentication.FormsCookieName] 将为您提供现有的身份验证 cookie。
猜你喜欢
  • 2014-06-02
  • 2015-04-05
  • 1970-01-01
  • 2013-08-21
  • 2015-03-22
  • 1970-01-01
  • 2015-09-05
  • 2016-03-27
  • 2017-10-22
相关资源
最近更新 更多