(Я пытался найти, но не смог найти действительно полезных ссылок.)
Мы внедряем набор сервисов WCF. Что бы я хотел сделать в этих службах, так это иметь клиентов (которые будут доверенными серверами приложений), которые могут передавать какой-либо токен в веб-службу для проверки подлинности. Я не хочу, чтобы от меня требовалось передавать имя пользователя / пароль при первоначальном или последующих запросах (поскольку в некоторых случаях вызывающий сервер приложений может не иметь пароля). Windows и Kerberos не могут использоваться в наших конкретных обстоятельствах.
Я думал просто создать простой пользовательский класс UserNameSecurityTokenAuthenticator и изменить его так, чтобы, если пароль пуст, он принимал userName в качестве значения токена со строковым кодированием (очевидно, проверяя сам токен, чтобы убедиться, что он действителен в тот момент) , но если пароль не пустой, перешлите имя пользователя и пароль на MembershipProvider для проверки. По сути, я бы хотел перегрузить аутентификацию по имени пользователя и паролю, чтобы обеспечить передачу токена.
Возможно ли это? Могу ли я просто подключить токен-аутентификатор, как этот, или есть какой-то другой простой способ «перехватывать» запросы, подобные этому (и обновлять фактическое значение имени пользователя из расшифрованного токена)?
Или есть какой-то другой невероятно простой способ разрешить клиенту передавать пользовательский токен и заставить сервер принять его, которого я просто пропускаю?