2013-09-24 4 views
0

В настоящее время я пытаюсь интегрировать OpenID с сервером Node.js, используя this library. Вход в систему довольно прост, но я действительно пытаюсь выяснить, как определить, когда пользователь выйдет из своего провайдера OpenID.Node.js + OpenID: Как определить, что провайдер выйдет из системы?

Например, я использую Google в качестве поставщика услуг. Если пользователь подписывается на мою заявку с помощью Google, а затем выписывает ее из Google на другом сайте, мне нужно иметь возможность понять это, чтобы я мог также выписать их из моего приложения.

Мой первый подход состоял в том, чтобы просто придерживаться утверждения, а затем периодически проверять его, чтобы узнать, истек ли срок его действия. Это не работает с OpenID, поскольку openid.response_nonce должен быть уникальным для каждого запроса. Я не могу получить новое утверждение, поскольку для этого потребуется другое перенаправление на Google, поэтому я не могу сделать это за кулисами, используя ajax. Как это обычно делается с помощью OpenID? Можно ли это сделать вообще? Благодарю.

+0

Сессия на вашем веб-сайте обычно не привязана к их сеансу провайдера OpenID следующим образом. –

+0

О, вы правы, я просто опробовал несколько сайтов с подобным логином и не привязывал их сеансы к провайдеру. Мне, возможно, придется пересмотреть. – JayPea

ответ

0

Невозможно узнать, когда пользователь выберет; такой связи между полагающейся стороной (клиентом) и провайдером (сервером) в OpenID нет.

Лучшее, что вы можете сделать, это отслеживать, когда утверждения истекают и/или повторно проверяются.

Смежные вопросы