Ниже приведен ответ из этого вопроса;
Признанный ответ фактически не затрагивает вопрос вообще. Он упоминает только SSL в контексте передачи данных и фактически не охватывает аутентификацию.
Вы действительно спрашиваете о надежной аутентификации клиентов REST API. Если вы не используете аутентификацию клиента TLS, только SSL не является жизнеспособным механизмом аутентификации для REST API. SSL без аутентификации клиента аутентифицирует сервер, что не имеет отношения к большинству API REST.
Если вы не используете аутентификацию клиента TLS, вам нужно использовать что-то вроде схемы проверки подлинности на основе дайджеста (например, пользовательской схемы Amazon Web Service) или OAuth или даже обычной HTTP-аутентификации (но только через SSL).
Поэтому, учитывая использование HTTPS без сертификации клиента мой вопрос здесь - плакат, если мы не используем клиентский сертификат SSL, сервер не знает, с кем его разговаривают. Я понимаю здесь, если я использую токен аутентификации для доступа к аутентификации клиента с сервером. Тогда сервер не знает, кто отправляет токен даже, если этот токен сопряжен с идентификатором пользователя в моей базе данных серверов.
Прежде всего
1 - это настоящая проблема? Если я специально использую Https? (Без проверки подлинности клиента TLS)
2- и, что наиболее важно, если предположить, что это важный недостаток безопасности; Как можно использовать базовую аутентификацию Http здесь в качестве плаката? Базовая аутентификация Http просто отправляет закодированный пароль пользователя в заголовке. Поэтому, когда клиент получает токен ( в ответ после отправки пароля пользователя), то для остальных своих запросов он будет использовать этот токен в этом заголовке вместо пароля, и все будет в порядке внезапно
Still Server не знает, откуда идет запрос, возможно, сервер имеет действительный токен с совпадающим пользователем в своей базе данных, но неизвестно, кто действительно отправляет его. (пока я все еще вижу это очень сильно, что токен будет украден поверх https и использован кем-то другим!)
Всякий раз, когда я привожу этот вопрос, я получаю ответы.. "Ну... вы отправляете токен, но сервер не знает, кому отправить токен, не очень безопасный", поэтому я понимаю это, поскольку браузер сохраняет своего рода сертификацию auth и сервер знает, где запрос приходит из нужного места. ТОГДА я могу быть уверен, что парный пользователь с этим токеном (проверенный из моей БД) "действительно прав"
Или, может быть, то, что здесь сказано, неверно