Новые услуги RESTful, но много читайте на эту тему. Реализация в VS2010 C#Restful Login - надлежащая реализация
Были заданы одинаковые (почти идентичные) вопросы и ответы на них приведены в stackoverflow, но, честно говоря, я ничего не узнал из ответов.
Я хочу реализовать вызов AuthenticatUser, где отправляется имя пользователя и пароль, и возвращается ключ аутентификации.
Учитывая, что это необходимо сделать с помощью GET, POST, PUT или DELETE, кажется, что GET будет наиболее подходящим.
Так что, возможно GET MYDOMAIN/MyService/аутентификации/{имя пользователя}/{пароль}
мне не нравится это, потому что имя пользователя и пароль передаются в URI, но, как я понимаю, это не хорошо идея отправить тело в GET. Таким образом, POST или PUT будут работать, но это, похоже, отличается от философии RESTFul.
Вопрос 1: Можно ли отправлять конфиденциальные данные, такие как пароль, в URL? Сайт будет использовать SSL.
Вопрос 2: В GET, когда передано несколько параметров, похоже, что концепция URI будет немного сумасшедшей, как сложные запросы должны обрабатываться RESTfully?
Вопрос 3: Какой предпочтительный (обычный, наиболее распространенный) метод аутентификации в RESTful API?
Я думаю, вам нужно прочитать, что такое «RESTful», который честно ответит на большинство ваших вопросов. Кроме того, URL-адреса читаются в браузере, поэтому неразумно помещать любую конфиденциальную информацию в URL-адрес. –
Как правило, ваша схема аутентификации будет включать * создание * объекта сеанса (обычно в базе данных на сервере), поэтому PUT или POST с учетными данными пользователя полностью соответствуют. – JDB
Интересно взять POST, создав объект сеанса на стороне сервера, но, похоже, это унижает дух архитектуры с технической точки зрения. Что касается чтения, у меня есть - он все еще гелевидный, я даже читал доктор Филдинг. Я использовал S3 Amazon, который, как я понимаю, REST, но при покупке нам назначается ключ аутентификации, и он используется для запроса сервисов. – kpg