ngCordova oauth и безопасность

Я экспериментировал с плагином ngCordova oauth, который использует плагин inappbrowser для открытия нового окно браузера, чтобы пользователь мог войти в систему, а затем вернуться в приложение с токенами доступа oauth.

В этом новом окне браузера по умолчанию не отображается строка URL-адреса, поэтому обычный пользователь не сможет сказать, что он вводит свои данные в реальный адрес oauth Google (пусть длинный URL-адрес https).

Я попытался создать свой собственный плагин и установить location=yes, но затем пользователю предоставляется действительно дерьмово выглядящий браузер, который также не внушает доверия.

Мой вопрос в том, как другие решают эту проблему?


person alexkb    schedule 10.08.2015    source источник


Ответы (1)


У вас есть два варианта:

  1. Используйте визуально ужасный браузер
  2. Используйте системный браузер "_system"

Даже если вы показываете пользователю URL-адрес, его все равно можно подделать. Я бы не слишком беспокоился о том, чтобы показать или скрыть это. Просто не запрашивайте чрезмерное количество разрешений для конкретного провайдера.

Надеюсь, это поможет.

person Nic Raboy    schedule 10.08.2015
comment
Я попробую системный браузер, спасибо, Ник, но что касается Просто не запрашивайте чрезмерное количество разрешений для конкретного провайдера. - что, если пользователю будет предложено войти в систему, то вредоносный веб-сайт может получить его учетные данные для входа. Это распространено при использовании браузера по умолчанию, потому что у пользователя не будет существующего сеанса в нем. - person alexkb; 11.08.2015
comment
Привет, Ник, я попробовал метод «_system», который работает намного лучше (поскольку пользователь действительно уже вошел в систему большую часть времени), но addEventListener, похоже, не срабатывает, когда вызывается URL-адрес обратного вызова, поэтому вместо того, чтобы закрыть(), у него есть сообщение о том, что сервер не найден. Любые идеи? - person alexkb; 17.08.2015