Почему для gem doorkeeper нам нужно устанавливать redirect_url как на панели управления сервера, так и запрашивать параметры у клиента? - PullRequest
0 голосов
/ 03 августа 2020

Я смотрю несколько примеров о камне привратника. Я заметил одну вещь: они установили URL-адрес перенаправления в двух местах. Первый - когда они создают новое приложение oauth в / oauth / applications, другой - когда клиент делает запрос к / oauth / authorize для получения кода доступа. Мне интересно, почему им нужно установить URL-адрес перенаправления в 2 места?

1 Ответ

0 голосов
/ 22 августа 2020

Это не просто реализация привратника. Это действительно определено документацией Oauth2. Вы можете видеть, что redirect_uri здесь определяется как параметр двух конечных точек:

«Почему им нужно установить URL-адрес перенаправления в 2 местах?» Потому что:

  • клиент может зарегистрировать несколько redirect_uri на сервере авторизации. здесь : "предоставить свои URI перенаправления клиента , как описано в разделе 3.1.2"
  • После того, как клиент отправит один из зарегистрированных redirect_uri при запросе авторизации (4.1.1) на AuthorizationServer, клиент получит authorization_code в ответ от AuthorizationServer на redirect_uri . Поэтому, когда вы обмениваете этот authorization_code на access_token в запросе AccessToken (4.1.3), вам необходимо отправить тот же redirect_uri, чтобы сервер авторизации удостоверился, что запрошенный authorization_code связан с redirect_uri.
...