Вот что я пытаюсь сделать.
У нас есть служба аутентификации SSO, которую другие внешние веб-страницы и службы используют для аутентификации пользователей.Пользователь пытается связаться со службой, если не найдены файлы cookie, содержащие токен аутентификации, они перенаправляются в службу аутентификации SingleSignOn.Служба аутентификации выполняет свою работу и перенаправляет пользователя (HTTP 302) на исходный URL с его зашифрованным токеном аутентификации в URL.Отлично.
Как я могу вызвать это из службы POX WCF?Здесь нет SOAP, просто HTTP GET / POST с XML-ответами.
В настоящее время я выполняю проверку каждого заголовка для файла cookie в каждом методе реализации метода службы.Если файл cookie существует, проверьте токен аутентификации и обработайте запрос.Если файл cookie не существует или токен аутентификации истек, ответьте:
WebOperationContext.Current.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.Redirect;
WebOperationContext.Current.OutgoingResponse.Location = string.Format( authServiceURL, returnURL );
Это работает, но не интегрировано ни с одной из функций WCF и требует от меня ручного кодирования дляцелая куча сценариев.Есть ли способ, которым я мог бы реализовать это с помощью этих классов:
<serviceCredentials>
<issuedTokenAuthentication>
</issuedTokenAuthentication>
или использовать некоторые другие средства, которые проверяют каждый запрос к службе?
Я читал страницы, такие как: Как: создать собственный токен , но я не понимаю, как он применим к моим потребностям.
Буду признателен за любые предложения.Я смотрю на это, потому что у меня есть некоторое время, прежде чем мой проект стартует, и я хотел бы правильно реализовать этот проект и узнать как можно больше о WCF.