使用asp.net中的web api通过http进行身份验证

Mar*_*ark 5 asp.net asp.net-mvc asp.net-web-api

我已经观看并查看了许多关于保护asp.net web api的页面 - 包括:http://weblogs.asp.net/jgalloway/archive/2012/03/23/asp-net-web-api-screencast-series -part-6-authorization.aspxhttp://weblogs.asp.net/jgalloway/archive/2012/05/04/asp-net-mvc-authentication-customizing-authentication-and-authorization-the-right-way .aspx - 但是,我还没有看过KISS类型的例子.

如果我有一个web api,它返回一个汽车列表例如 - 我正在与第三方(即不是我自己的网站或服务器/域)合作,他们想要查询(获取)和插入(发布)列表汽车的类型,进入我的数据库,我如何验证它们(通过https)?

他们只是添加(在他们的JSON GET/Post中)类似于:

[
{"username":"someusername","password":"somepassword",
{
"carTypeID":12345,
"carTypeID":9876}
"carTypeID":2468}
}
}
]
Run Code Online (Sandbox Code Playgroud)

然后,我可以获取用户名和密码,并检查.net中的会员数据库,"IfUserAuthenticated"继续处理其余的JSON?

或者有更好的方法吗?我听说过向标题添加细节等等 - 但是我不确定这是不是因为某种原因,或者使其复杂化.我也听说过设置令牌被发送回第三方 - 如果这是最好的方法,我给他们的指示是建立他们将使用我的API的应用程序的一面?

感谢您的任何建议/指示,

标记

Car*_*any 4

如果您想保持简单,可以使用基本身份验证。通过 SSL 是相当安全的。它只涉及向请求添加标头:

Authorization: Basic <username:password encoded as base64>
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到实现它的方法。