Обработка учетных данных в приложении, использующем службу WCF с WIF/ Женева
Интересно, каковы лучшие практики в клиентском приложении ( winforms/ console/ что-либо еще) в отношении использования WCF, который авторизован и аутентифицирован с использованием WIF (раньше назывался geneva).
Также на уровне обслуживания можно ли кэшировать токен, чтобы отключение STS не было необходимым для каждой операции WCF? (больше информации об этом также ценится) Спасибо
2 ответа
Вам необходимо отправлять токен каждый раз, так же, как вам нужно каждый раз отправлять имя пользователя и пароль в веб-службу, защищенную именами пользователей и паролями. То, что вы используете токен SAML, не меняет этого.
Однако вы можете кэшировать токен на стороне клиента - каждый токен имеет действительный и связанный с ним ток, поэтому, если веб-служба не проверяет уникальность каждого токена с помощью идентификатора утверждения, вы можете кэшировать на клиенте. Однако хорошо написанный веб-сервис вполне может проверять идентификатор подтверждения, чтобы остановить ретрансляционные атаки.
Использование SAML не означает, что вы можете обойтись без передачи токена, поскольку он не является частью сигнатуры и представляет собой неявную полезную нагрузку и может иметь общее доверие между разнородными приложениями на одном предприятии. Таким образом, вы фактически пользуетесь доверительным обслуживанием. Что касается кэширования, вы можете попробовать скорость для этого.