Аутентификация через http с помощью веб-api в asp.net

Я просмотрел и просмотрел много страниц о защите asp.net web api - включая: http://weblogs.asp.net/jgalloway/archive/2012/03/23/asp-net-web-api-screencast-series-part-6-authorization.aspx и http://weblogs.asp.net/jgalloway/archive/2012/05/04/asp-net-mvc-authentication-customizing-authentication-and-authorization-the-right-way.aspx - однако я еще не видел пример типа KISS.

Если у меня есть веб-api, который возвращает список автомобилей, например, и я работаю с третьим лицом (т.е. не с моим собственным сайтом или сервером/доменом), который хочет запросить (получить) и вставить (сообщение ) списки автомобилей по типу, в мою базу данных, как я могу их аутентифицировать (через https)?

Они просто добавляют (в их JSON GET/Post) что-то вроде:

[
{"username":"someusername","password":"somepassword",
{
"carTypeID":12345,
"carTypeID":9876}
"carTypeID":2468}
}
}
]

Затем я могу захватить имя пользователя и пароль и проверить свою базу данных членства в .net, а "IfUserAuthenticated" продолжить обработку остальной части JSON?

Или есть лучший способ сделать это? Я слышал о добавлении подробностей в заголовки и т.д., Но я не уверен, если это по какой-то причине или слишком усложняет его. Я также слышал об установке токенов, которые отправляются обратно третьей стороне - если это лучший способ, какие инструкции я им даю, они создали свою сторону приложения, которое будет использовать мой API?

Спасибо за советы/указатели,

Марк

Ответ 1

Если вы хотите сохранить его простым, вы можете использовать обычную проверку подлинности. Через SSL это довольно безопасно. Это просто связано с добавлением заголовка в запрос:

Authorization: Basic <username:password encoded as base64>

Вы можете найти способ реализовать его здесь.

Ответ 2

Вы можете использовать HTTP Basic authenticaiton вместе с SSL. Его очень просто реализовать с помощью обработчиков сообщений и поддерживается на разных платформах. См. Мой блог для примера (очень легко интегрироваться с поставщиком членства по вашему выбору)

http://www.piotrwalat.net/basic-http-authentication-in-asp-net-web-api-using-message-handlers/