2014-11-27 4 views
0

Я видел несколько API, использующих OAuth 2.0 для аутентификации, которые используют пароль grant_type. Я считаю это немного запутанным, потому что:Почему OAuth2 поддерживает grant_type = пароль?

Огромное преимущество типичной модели OAuth 2 заключается в том, что приложение никогда не должно обрабатывать имя пользователя/пароль пользователя для подключенной услуги. Пароль типа гранта теряет это преимущество, поэтому я не уверен, почему вы используете его для обычной проверки подлинности, тем более, что базовые данные, по крайней мере, кодируют учетные данные, когда вы отправляете их в виде обычного текста с типом пароля типа.

Что мне не хватает, что делает этот вид OAuth допустимым?

ответ

2

официальное название - пароль владельца ресурса; это означает только механизм миграции, а не первичный поток OAuth 2.0, поскольку OAuth действительно был разработан для смягчения проблем ввода учетных данных пользователя в клиентское приложение; см http://tools.ietf.org/html/rfc6749#section-10.7

это позволяет сервер ресурсов перейти на OAuth 2.0 путем принятия и проверок маркеров доступа, клиент может позже быть повышен до гранта, что позволяет более высокий уровень безопасности

0

Существует действительный и важный случай использования пароль grant_type, а не только для устаревших систем: grant_type=password - отличный способ реализовать официальные, сторонние приложения. Таким образом, вы можете использовать те же серверы авторизации oauth2 как для сторонних, так и для сторонних приложений.

Это пример дизайна API, в котором ваши собственные приложения созданы против тех же API, которые вы открываете для использования сторонними приложениями.

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