Зачем нужен редирект uri при запросе токена доступа OAuth у Google?

Я пытаюсь запросить токен доступа у Google, могу ли я получить доступ к учетной записи Google Диска для загрузки файлов.

Я могу сделать запрос на авторизацию ...

<form method = "POST" action = "https://accounts.google.com/o/oauth2/auth">
    <input type = "hidden" name = "scope" value = "[YOUR SCOPE]"/>
    <input type = "hidden" name = "client_id" value = "[YOUR CLIENT ID]"/>
    <input type = "hidden" name = "response_type" value = "code"/>
    <input type = "hidden" name = "redirect_uri" value = "[YOUR RETURN URL]"/>
    <input type = "hidden" name = "access_type" value = "offline"/>
    <input type = "submit"/>
</form>

Зачем мне нужен redirect_uri, если я делаю HTTP-запрос для получения токена доступа. Разве токен не будет возвращен в теле ответа?

Мое приложение не требует взаимодействия с пользователем, поэтому я не уверен, зачем вообще нужно перенаправление. Я не хочу использовать SDK или библиотеку, я просто хочу использовать HTTP через Postman.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
510
2

Ответы 2

My app does not involve any user interaction

Oauth2 требует взаимодействия с пользователем для аутентификации в учетной записи пользователя, тогда вам придется запрашивать у них доступ. Отображается экран согласия, и код возвращается в uri перенаправления.

Значит ли это, что конечный пользователь (чья учетная запись я хочу получить доступ) должен будет перейти на веб-страницу I, чтобы позволить им ввести свое имя пользователя и пароль. Затем я захватываю токен OAuth и с этого момента использую его?

webworm 13.09.2018 17:10

да, пользователю нужно будет войти в систему, и вы сможете захватить токен обновления, который вы можете использовать для получения нового токена доступа и использования API

DaImTo 13.09.2018 18:11

возвращаясь к основам отправки формы (без javascript), данные формы будут отправлены на uri, который вы установили в action, и страница будет перенаправлена ​​на то, что сервер установил, или страница будет "перезагружена" со страницей, которая показывает ответ сервера.

Я никогда не пробовал Google OAuth2, но, как правило, в этом случае, если отправка вашей формы прошла успешно, она будет перенаправлена ​​на ваш redirect_uri с токеном, добавленным в uri в качестве хеша.

только что понял, что вы используете тип предоставления кода. Таким образом, после отправки этой формы поток будет перенаправлен в Google IDM для аутентификации и подтверждения согласия, а затем перенаправлен на redirect_uri с добавленным кодом аутентификации. затем вы можете получить токен, запросив его у конечной точки токена с полученным кодом.

Другие вопросы по теме