我可以在网站Api使用基本身份验证和Web Api中的令牌身份验证吗?这是错误的概念吗?

时间:2015-11-11 04:50:20

标签: c# asp.net authentication asp.net-web-api

我需要在asp.net中创建一个网站,需要用户注册,还需要为移动应用用户创建一个WebApi代码。

目前用户注册是在asp.net Webform中创建的,登录工作正常(使用基本身份验证),但是当我尝试使用WebApi代码登录时 它显示错误400错误请求(基于令牌的身份验证),所有传递的参数都是正确的。

这是因为我在Webform中使用了基本身份验证吗? 我是否还需要在WebApi中使用基本身份验证?如果是,那么它如何用于登录? 请帮忙。

2 个答案:

答案 0 :(得分:1)

我会对两种用例使用相同的身份验证模型。因此,要在WebApi中实现基本身份验证,请a good article from Mike Wasson。您可以找到源代码here。在这里复制它太过分了。

创建自己的[BasicAuthentication]属性并将其添加到控制器类中。我不会使用cookie,而是每次在HTTP调用的Authentication-Header中调用Api时发送您的凭据。但请确保使用 HTTPS

回答有关移动应用的问题:是的,在任何移动应用中都可以添加身份验证标头。关于使用HTTPS的相同建议......

答案 1 :(得分:0)

您应该能够使用与webforms相同的基本身份验证(基于cookie)。