Я искал вокруг какое-то время и абсолютно никто, кажется, не ответил правильно.Аутентификация с использованием пароля паролей Oauth от внешнего интерфейса
Предположим, у меня есть «ненадежное» клиентское приложение: front-end AngularJS. Этот front-end хочет достичь моего api, поэтому пользователь должен пройти аутентификацию сначала каким-то образом.
Так что если я использую пароль пароля oauth, пользователь должен заполнить его учетные данные в форме HTML, а приложение Angular должно отправить запрос, добавляющий client_id и client_secret.
То, что я не понимаю, что все и спецификации говорят, что client_secret должна оставаться тайной ...
Это абсурд, вы должны послать client_secret аутентифицировать, но в то же время вы должны держать он неизвестен из Javascript?
Так что мой вопрос:
Как использовать OAuth поток пароль из ненадежного клиента (веб-фронтального или мобильное приложение), не раскрывая client_secret?
Действительно ли это возможно или просто невозможно соблюдать эту спецификацию?
Извините, но это не решает проблему, вы скрываете ту же проблему в предложении «это зависит от поставщика для аутентификации с использованием любых доступных средств», который, как я понимаю, требует от провайдера реализовать пароль поток, который, в свою очередь, является ошибочным. Должен быть безопасный способ справиться с этим. Вы что-то знаете об этом? Спасибо. – singe3
Поставщику не требуется реализовать поток паролей, когда он реализует неявный поток. Под «любыми средствами» я имею в виду два фактора, связанных с мобильным телефоном, сканирование глаз, что угодно. Полностью независим от любых реализованных потоков OAuth. Я думаю, вы либо путаете некоторые понятия о самом OAuth, либо есть какое-то другое недоразумение. Проверка имени пользователя/пароля поставщиком сама по себе является чем-то совершенно иным, чем позволить вашему приложению отправлять имя пользователя/пароль и ожидать получить токен. –