Какой самый простой способ сделать аутентификацию с помощью веб-API? - PullRequest
0 голосов
/ 22 июня 2010

У меня есть веб-API, который предоставляет данные пользователям без аутентификации (сайт позволяет пользователям публиковать данные после того, как они вошли в систему с использованием традиционных файлов cookie и сеансов).Кто-то хочет разработать приложение для iPhone, которое добавит что-то в мою базу данных, поэтому я хочу, чтобы пользователь проходил аутентификацию на iPhone, а затем API разрешил бы публикацию.

Итак, что я должен искать, чтобы сделать это легко?API в его нынешнем виде является RESTful, было бы неплохо сохранить его таким.Очевидно, я новичок в этом, но, похоже, так много стандартов, что я не знаю, с чего начать.Если бы я мог написать его менее чем за час, это было бы идеально.

Очень ценится!

Ответы [ 2 ]

1 голос
/ 22 июня 2010

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

Получив запрос на новый сеанс, вы будете искать его токен на основе предоставленного appid и пытаться расшифровать пользователя / пароль с помощью токена.

Если пользователь / пароль принят, вы создаете новый сеанс и возвращаете ему идентификатор сеанса, который они могут отправлять вместе с любыми новыми запросами.

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

0 голосов
/ 20 мая 2014

WebSecurity был представлен в ASP.NET MVC 4. Он опирается на SimpleMembershipProvider. Он использует FormsAuthentication для управления куки

WebMatrix.WebData.WebSecurity предоставляет функции безопасности и аутентификации для приложений веб-страниц ASP.NET, включая возможность создания учетных записей пользователей, входа и выхода пользователей, сброса или изменения паролей и выполнения связанных задач.

Вы должны создать или инициализировать базу данных WebSecurity, прежде чем сможете использовать объект WebSecurity в своем коде.

В корне вашей сети создайте страницу (или измените страницу) с именем _AppStart.cshtml.

  _AppStart.cshtml

    @{
    WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
    }

Вы можете аутентифицировать свой запрос, используя следующий код.

WebSecurity.Login(LoginName, Password, true)

после успешной аутентификации вы получите значение WebSecurity.IsAuthenticated имеет значение true, и вы получите идентификационную информацию пользователя

вы также можете использовать "SimpleRoleProvider" для управления ролями в вашем приложении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...