Как не получить новый код авторизации для OpenID - PullRequest
1 голос
/ 09 мая 2020

Вероятно, заголовок не объясняет, что я имею в виду, поэтому позвольте мне попытаться объяснить на примере.

Пользователь входит в систему провайдера OpenId (example.com) с приложением X oauth (x.example.com) . Внутри x.example.com пользователь хочет переместить y.example.com, который имеет собственный идентификатор client_id приложения oauth и свои собственные области. Итак, пользователю необходимо получить новый токен. Как только пользователь щелкает ссылку, которая ведет на страницу в y.example.com, первое, что происходит, - это то, что на go example.com нужно получить новый код авторизации, а затем с этим кодом получить новый токен для этого приложения.

В основном происходит рукопожатие openid, которое проверяет, аутентифицирован ли пользователь уже или нет. После того, как все это произойдет, допустим, пользователь закрыл вкладку браузера для y.example.com, но у него все еще есть действующий токен. Затем предположим, что пользователь в x.example.com снова нажимает на ссылку y.example.com, но на этот раз я не хочу, чтобы этот пользователь снова увидел example.com и получил новый код авторизации, поскольку это не имеет никакого смысла. Также неудобно показывать одну и ту же страницу снова и снова и каждый раз получать новый токен.

Итак, мой вопрос, возможно, немного глуп, но как я могу логически сделать так, чтобы этот пользователь не go каждый раз на example.com получать новый код авторизации? Как я мог узнать, что пользователь уже вошел в систему и имеет действующий сеанс для y.example.com?

...