2014-11-05 4 views
0

У нас есть веб-служба, которая в настоящее время использует Basic Auth over https для аутентификации пользовательских запросов. У нас также есть веб-сайт, который использует службу, и собственный клиент Windows, который также использует веб-службу. Я читал об OAuth, и кажется, что он всегда используется для предоставления или получения доступа к внешним ресурсам, т. Е. Делегированию, но я пытаюсь понять, заменяет ли это Basic Auth.Использование OAuth вместо обычной проверки подлинности?

Я не совсем уверен, как все детали подходят друг к другу. Вы используете Basic over https на веб-сайте, чтобы получить секрет, а затем javascript, который делает запросы к службам REST аутентифицированы для веб-службы, используя OAuth вместо Basic?

Кажется, что в какой-то момент пользователь должен ввести свое имя пользователя и пароль в форму. Я не уверен, что обычно происходит дальше. Это даже вариант использования OAuth?

ответ

0

Если у вас есть локальные учетные записи базы данных для пользователей (владельцев ресурсов), вы можете заменить базовую аутентификацию одним из потоков OAuth с именем «» «Учетные данные владельца ресурса». Это очень простой поток, когда вы выдаете HTTP пост до конечной точки, указанной на сервере HTTP обычно называется /token Содержание типа для этого HTTP Post действия x-www-form-urlencoded, поэтому пост тело будет содержать что-то вроде этого grant_type=password&username=Taiseer&password=SuperPass

One запрос отправляется на конечную точку /token, сервер будет проверять учетные данные пользователя против вашего хранилища баз данных, и если все это действительно, он должен сгенерировать токен (подписанная строка), который содержит все претензии для этого владельца ресурса (пользователя). Затем ваше клиентское приложение должно представить этот токен в заголовке авторизации при каждом вызове любой защищенной конечной точки с использованием схемы bearer. Этот токен истекает через определенный период, и вы можете настроить его с сервера AuthZ. Вы можете прочитать мое подробное сообщение в блоге Token Based Authentication, чтобы получить более подробную информацию.

+0

Что вы описываете, это не OAuth, его собственный метод защиты от токенов. Я рассмотрел аналогичную схему, но хотел использовать стандарт. – bpeikes

+0

Кроме того, ваша статья требует, чтобы на основе auth через http, которая была бы огромной дырой в безопасности. – bpeikes

+0

Nop Я не согласен с вами, это единственный поток потока OAuth, это не проверка подлинности, и я упомянул, что это должно быть сделано над https в производстве. Кажется, вы плохо читали. Подробнее об этом потоке: [link] (https://tools.ietf.org/html/rfc6749#section-1.3.3). –

Смежные вопросы