Ответ 1
Когда ваш браузер перенаправляется веб-сайтом на URL с параметром запроса, строка запроса также является частью запроса, который ваш браузер теперь отправляет хосту. Фрагменты оцениваются локально только вашим веб-браузером и не включены в запрос хосту.
В случае Гранта авторизационного кода, где у вас обычно есть веб-приложение, которое напрямую общается с провайдером, отправка данных на хост именно то, что вам нужно:
- Веб-приложение перенаправляет ваш браузер поставщику, в который вы входите.
- Поставщик теперь сообщает вашему браузеру URL-адрес обратного вызова веб-приложения и добавляет код авторизации. Этот код должен быть отправлен в веб-приложение, поэтому он включается в качестве параметра запроса в запрос URL-адреса обратного вызова.
- Теперь веб-приложение ведет переговоры с провайдером в фоновом режиме и проверяет с помощью кода авторизации, что ему действительно разрешено запрашивать у провайдера токен доступа.
В случае Неявный Грант у вас обычно есть приложение Javascript, которое работает прямо в вашем браузере. Нет необходимости передавать какой-либо код авторизации на хост, и в большинстве случаев также нет необходимости отправлять токен доступа хосту, поскольку JS в браузере может напрямую поговорить с провайдером. Таким образом, вы можете, например, создать веб-сайт на сервере, который использует информацию, запрашиваемую у другого поставщика, с согласия пользователя, когда сервер никогда не получает доступа к каким-либо конфиденциальным данным пользователя. (В случае надежного веб-сайта, который не отправляет токен доступа на сервер.)