Обработка учетных данных в приложении, использующем службу WCF с помощью WIF /Geneva

StackOverflow https://stackoverflow.com/questions/1873213

  •  18-09-2019
  •  | 
  •  

Вопрос

Интересно, каковы наилучшие практики в клиентском приложении (winforms / console / что угодно еще) в отношении использования WCF, который авторизован и аутентифицирован с помощью WIF (раньше назывался geneva).

Также на уровне обслуживания, возможно ли кэшировать токен, чтобы переход к STS не был необходимым для каждой операции WCF?(дополнительная информация об этом также приветствуется) Спасибо

Это было полезно?

Решение

Вам нужно отправлять токен каждый раз, точно так же, как вам нужно было бы каждый раз отправлять имя пользователя и пароль веб-службе, защищенной именами пользователей и паролями.Просто потому, что вы используете токен SAML, это ничего не меняет.

Однако вы можете кэшировать токен на стороне клиента - с каждым токеном связаны действительные from и valid to, поэтому, если веб-служба не проверяет уникальность каждого токена с помощью идентификатора утверждения, вы можете кэшировать на клиенте.Однако хорошо написанный веб-сервис вполне может проверять идентификатор утверждения, чтобы остановить ретрансляционные атаки.

Другие советы

Использование SAML не означает, что вам может сойти с рук передача токена, просто то, что он не является частью подписи, является неявной полезной нагрузкой и может иметь общее доверие, разработанное между разрозненными приложениями на одном предприятии.Таким образом, вам на самом деле сходит с рук использование поддержки доверия.Насколько возможно кэширование, вы можете использовать velocity для этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top