我创建了一个WEBAPI
解决方案,我正在创建HTML页面以访问该Web服务的所有功能。我正在使用http基本身份验证。
我有这些选择
username
和password
保存在Javascript变量中,并在每次调用任何WEBAPI
函数时发送它们。username
和password
,在服务器上创建令牌并将其发送回客户端,然后将其保存为cookie并在每次调用任何一个时使用它WEBAPI功能。处理此问题的最佳方法是什么? 感谢
答案 0 :(得分:0)
出于安全原因,您不希望在每次呼叫时都发送用户名/密码。基于语音的身份验证将是可行的方法,您可以使用内置的身份验证。
我找到的最好的教程是http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/
答案 1 :(得分:0)
使用基本身份验证没有任何问题,只要它是通过安全通道完成的。如果您在每次通话时都发送用户名和密码,那么您的api将需要在每次通话时访问数据库,以便对用户进行身份验证。如果在用户通过身份验证时发送令牌,则无需在后续调用时访问数据库。
使用令牌还可以利用Thinktecture's IdentityServer等身份提供商提供单点登录。如果你有多个系统,它将允许用户登录一次然后访问任何应用程序,它可以大大简化安全性。