У меня есть службы REST, которые я планировал защитить с помощью встроенной аутентификации Windows (NTLM), поскольку они должны быть доступны только для тех, кто является внутренним для компании, и в конечном итоге они окажутся на веб-сайте, доступном для общественности.
Но потом я подумал о мобильных приложениях и понял, что Android, например, не сможет передать необходимые учетные данные, поэтому теперь я застрял на том, как его защитить.
Это написано в WCF 4.0, и я подумал о том, чтобы получить учетные данные, затем определить, кто пользователь, а затем проверить, могут ли они использовать запрос GET, и просмотреть данные.
Я не хочу заставлять пользователя передавать пароли, так как тогда это будет в журнале IIS, как и дыра в безопасности.
Мое настоящее беспокойство касается запроса GET, так как POST будет обрабатываться тем же методом, который я ожидал.
Одним из решений, которое я не считаю хорошим вариантом, было бы заставить их войти в Sharepoint, а затем принимать только перенаправленные запросы от Sharepoint.
Другой подход заключается в том, чтобы поставить мое SSO-решение перед этими службами, которое затем заставляло бы людей входить в систему, если у них нет учетных данных, поэтому аутентификация выполнялась бы SSO, и поскольку каталог веб-службы мог быть подкаталогом главной страницы единого входа, тогда я могу расшифровать cookie и получить имя пользователя таким образом, но это будет раздражать мобильных пользователей, включая старшее руководство.
Итак, как защитить REST-сервис, чтобы знать, кто делает запрос, чтобы можно было принимать решения об авторизации, и он будет работать для смартфонов iphone, android и blackberry.