Параметры аутентификации Api с asp.net mvc - PullRequest
3 голосов
/ 16 декабря 2009

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

Как бы пользователи проходили аутентификацию с помощью API? API изначально будет использоваться мобильными приложениями (iphone, droid). Моя главная задача - поддержка открытых идентификаторов в мобильных приложениях.

Мои мысли о доступных опциях:

  1. Поддержка имени пользователя / пароля и открытого идентификатора. Не уверен, насколько хорошо приложения iphone / droid могут поддерживать аутентификацию openid.
  2. Поддержка только имени пользователя / пароля - вынуждает пользователей OpenId создавать un / pwd для api - Bad UX для пользователей OpenId
  3. Используйте API-токен - это беспокоит меня по двум причинам:
    1. Пользователи должны будут вручную ввести свой ключ API, который отстой с точки зрения UX
    2. Они могут легко распространять / делиться своими ключами API с другими пользователями, что приведет к разрушению отчетов / метрик.
  4. Что-то еще, что я пропустил?

Ответы [ 3 ]

0 голосов
/ 16 декабря 2009

Я думаю, это зависит от того, как вы создаете API своих сервисов (REST / JSON, XML, WCF и т. Д.), Но вот несколько ссылок, которые помогут:

ASP.NET MVC - запрос аутентификации HTTP

http://code.google.com/p/dotnetopenid/

0 голосов
/ 23 января 2012

Я обнаружил, что аутентификация на основе токенов работает лучше всего.

OAuth 2 - привлекательная альтернатива, которая будет поддерживаться всеми мобильными устройствами и сайтом, который уже допускает несколько форм аутентификации.

DotNetOpenAuth предлагает библиотеку .net для работы с OAuth2 среди других технологий аутентификации.

0 голосов
/ 16 декабря 2009

Мы используем # 1 - открытый идентификатор или имя пользователя / пароль. Я не понимаю, как это относится к asp.net или asp.net mvc, хотя ... это похоже на архитектурный вопрос.

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