Предоставление гранта для нативных приложений - PullRequest
0 голосов
/ 23 марта 2019

У меня есть кое-что прояснить относительно следующего.Спецификация «OAuth 2.0 для собственных приложений» гласит:

Однако, поскольку неявный поток не может быть защищен PKCE [RFC7636] (что требуется в разделе 8.1),использование неявного потока с нативными приложениями НЕ РЕКОМЕНДУЕТСЯ.

Это соображение, почему мы не должны использовать тип неявного предоставления, приводило меня в замешательство.

Как я понимаю, PKCE требуется для предоставления кода авторизации, поскольку для получения токена доступа требуется 2 отдельных вызова, и мы должны убедиться, что оба эти запроса выполняются одним и тем же приложением.Пожалуйста, поправьте меня, если я ошибаюсь.

И теперь, поскольку неявному типу предоставления не нужны такие 2 вызова для получения токена, я не думаю, что нам действительно нужен PKCE там.Еще раз, пожалуйста, исправьте меня, если я ошибаюсь.

Это означает, что "неявный поток не должен защищаться PKCE" .Тогда почему «неявный поток не может быть защищен с помощью PKCE» стал причиной, по которой выше не использовать его для собственных приложений?

1 Ответ

1 голос
/ 24 марта 2019

Как я понимаю, PKCE требуется для предоставления кода авторизации, поскольку для получения токена доступа требуется 2 отдельных вызова, и мы должны убедиться, что оба эти запроса выполняются одним и тем же приложением.

Первая часть предложения не верна, вторая («нам нужно убедиться ...»). PKCE не требуется из-за 2 запросов - два запроса позволяют реализовать PKCE. Проблема в том, кто может украсть код / ​​токен, прежде чем он достигнет приложения, которое его запросило. Неявный поток имеет те же проблемы безопасности, что и поток кода аутентификации - описанный в раздел 8.1 RFC. Без PKCE, если злоумышленник получает код или токен доступа, он может сразу использовать токен или сначала обменять код на токены. С PKCE код бесполезен, не зная code_verifier.

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

И в зависимости от того, какую опцию перенаправления URI вы выберете, могут возникнуть проблемы с доставкой фрагмента части URL перенаправления (используемой неявным потоком для передачи токенов) в приложение. Но я не уверен насчет этой части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...