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

Я просмотрел и просмотрел множество страниц по обеспечению безопасности веб-приложений asp.net, в том числе: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, и & quot; IfUserAuthenticated & quot; продолжать обрабатывать остальную часть JSON?

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

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

отметка

 Jim Harte13 июн. 2012 г., 17:14
В дополнение к основному подходу аутентификации в принятом ответе см. Этот вопрос и ответ Дарина Димитрова о том, как использовать проверку подлинности с помощью форм:stackoverflow.com/questions/11014953/…

Ответы на вопрос(3)

Решение Вопроса

вы можете использовать обычную аутентификацию. По SSL это довольно безопасно. Это просто включает добавление заголовка к запросу:

Authorization: Basic <username:password encoded as base64>

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

 Mark11 июн. 2012 г., 23:16
Привет @ carles-company - спасибо, что ответили. Я тоже просмотрел этот пост - но не вижу (или, скорее всего, пока не знаю), что сказать третьей стороне, чтобы они могли аутентифицироваться. В статье рекомендуется «предоставить им возможность выяснить», но помощь им приносит пользу обеим сторонам, поэтому я бы хотел сказать «сделайте это, сделайте это, вы получите список автомобили & Quot; - Еще раз спасибо, Марк
 12 июн. 2012 г., 06:54
Третья часть просто должна добавить заголовок авторизации. Увидетьen.wikipedia.org/wiki/Basic аутентификация для более подробной информации.
 Mark12 июн. 2012 г., 10:25
Спасибо @ Carles-company - я более подробно расскажу об этом - это, очевидно, область, которую мне просто нужно изучить! Ура, Марк

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

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


http://remy.supertext.ch/2012/04/basic-http-authorization-for-web-api-in-mvc-4-beta/

Сейчас он используется в нескольких местах, и мы используем его примерно 2 месяца в производстве. Кажется, работает нормально.

Ваш ответ на вопрос