【发布时间】:2014-09-15 09:43:12
【问题描述】:
- 我将用户存储在我们自己的自定义数据库中。
- 我开发了一个 ASP .NET Web 2 API
- 我没有现有的网站,并且客户端没有使用浏览器(因此无法使用表单身份验证)
- 我需要使用现有用户,所以不能使用使用它自己的表的 ASP .NET 的身份?
如何最好地将身份验证添加到我的 API?我想利用现有的基础设施,例如 Authorize 属性。
(这个问题:User Authentication in ASP.NET Web API 没有回答我的问题,因为它提出的唯一两种身份验证方式是表单身份验证和 Windows 集成身份验证——我都不能使用)。
【问题讨论】:
-
您可以根据任何条件在 web-api 上设置 Authorize,但是如果您没有浏览器,您打算如何保留身份验证,需要发送 cookie 或 ouath 令牌以便 api 知道请求是否合法且已授权?
-
我没有浏览器,但它是 HTTP,因此我可以在标头中包含令牌,即使我没有使用 HTTP,我也可以将它包含在我的请求中。
-
更容易将它发送的 cookie 包含在标头中,除非您知道如何配置 Ouath ?但是没有浏览器嗯 ouath 可能是你唯一的选择
-
使用 // 做一些条件检查然后设置 FormsAuthentication.SetAuthCookie(userAccount, true); // 如果您不想创建持久 cookie,则设置为 false,如果您在标头中包含 cookie,它应该可以工作
标签: c# authentication asp.net-web-api .net-4.5