Аутентификация должна выполняться на стороне пользователя: веб-сайт MVC и служба WCF.
В каждой точке используйте соответствующий механизм аутентификации / авторизации.
Веб-сайт MVC : проверка подлинности на основе форм (или проверка подлинности Windows и т. Д.)
Служба WCF : (какой метод вы будете использовать, ключ API, пароль пользователя / имени при каждом запросе, безопасный ключ, файл cookie авторизации и т. Д.)
Для каждой точки вызовите уровень обслуживания с учетными данными, используемыми запрашивающей стороной (пользователем), и проверьте его по вашей базе данных (на уровне обслуживания).
Сервисный уровень должен возвращать действительный / недействительный для предоставленных ему учетных данных.
Если он недействителен , попросите ваш веб-сайт или веб-службу отклонить любые дальнейшие действия пользователя и сообщите им, что это недействительно.
Если оно действительно , пусть ваш веб-сайт MVC создаст файл cookie авторизации (FormsAuthentication.SetAuthCookie
), а ваша служба WCF сделает соответствующее действие для выбранного вами механизма аутентификации.
Держите ваш сервисный уровень независимо от аутентификации. Он должен отвечать только тем, действительно ли набор учетных данных действителен, а ваши передние слои должны позаботиться об установке билетов проверки подлинности.
Для входов в систему с открытым идентификатором / Twitter / Facebook вся необходимая информация находится в веб-приложении (через файлы cookie источника входа), поэтому используйте ее для настройки файла cookie для аутентификации вашего сайта.