Web API - 认证建议
Web API - 认证建议
背景:
- 在使用ASP.Net 4.0/C#和VS 2012的Web Forms应用程序中使用Web API
- 一些页面将使用JQuery进行Web API调用,其他页面将使用Web Forms回传
需要完成以下任务:
- 允许用户使用用户名/密码登录
- 使用SQL Server数据库验证用户凭据
- 向客户端生成令牌
- 客户端使用令牌进行未来的API请求身份验证
- 无论使用Web API还是Web Forms回传,均保持用户会话
我不清楚的问题是:
- 如何使用Web API生成令牌
- 如何在每次调用时在服务器端验证令牌(存储在SQL Server中?)
- 如何在使用Web API和Web Forms回传的混合情况下保持用户会话
在实现Web API身份验证时,我使用了Thinktecture IdentityModel库。这个库非常棒,包括了令牌生成功能。在我实施它时,我参考了以下原始文章:http://ben.onfabrik.com/posts/dog-fooding-our-api-authentication。我还在我的博客上写了一些相关内容,如果你有兴趣可以看看:http://sunilrav.com/post/Enable-Basic-Authetication-in-Aspnet-webapi-using-ThinktectureIdentityModel,http://sunilrav.com/post/Enable-CORS-in-Aspnet-webapi-using-ThinktectureIdentityModel。在我进行研究时,这篇帖子对我帮助很大:REST service authentication。
通过阅读以上内容,我们可以得知Web API - Authentication Advice这个问题的出现原因是因为作者在实现Web API身份验证时,使用了Thinktecture IdentityModel库,并且参考了一些相关文章和帖子。解决这个问题的方法是使用Thinktecture IdentityModel库来生成令牌,并根据作者的博客文章和相关内容进行实施。