Я хочу создать безопасное соединение между клиентом и сервером. в этом сценарии, на первом, клиент отправляет свои учетные данные на сервер, затем сервер соответствует этой информации, делает мягкий токен и отправляет клиенту. с этого момента клиенту не нужно выполнять повторную операцию (отправить свой UID & Pass на сервер), вместо этого отправить его токен на сервер (Предполагая, что клиент и сервер согласовали общий секретный ключ). 1. Каковы наилучшие компоненты для токена? 2. Как реализовать этот механизм в C#?
tnxКак я могу создать аутентификацию с запросом/ответом для механизма на основе мягких токенов в C#?
ответ
Это уже происходит со стандартной аутентификацией форм. Проверяются учетные данные, создается FormsAuthenticationTicket, шифруется и сохраняется в файле cookie. Этот файл cookie отправляется с каждым запросом, и сервер проверяет, что он действителен и не истек, что не требует повторного ввода учетных данных, пока билет обновляется и сохраняется клиентом.
Вы можете использовать это в пользовательском клиенте, обмениваясь сообщениями, пока вы соблюдаете одни и те же правила только отправки зашифрованного билета только на действительный сервер, так же, как браузеры не будут передавать файлы cookie по-умолчанию, по умолчанию, избегайте захвата сеанса.
Быстрый Google оказался подобные ответы в контексте WCF (который вы помечено ваш вопрос, но не уверен, актуальность): https://stackoverflow.com/a/18164396/84206