В настоящее время я использую lightopenid
- http://code.google.com/p/lightopenid/ для входа в систему пользователей, по умолчанию он работает, перенаправляя текущую страницу на страницу входа в систему, а затем по завершении возвращает на страницу об успешном выполнении / ошибке Это работает нормально, но это означает, что пользователь должен ненадолго покинуть сайт.
Я пытаюсь изменить его, чтобы он работал так, чтобы, когда пользователь нажимает одну из кнопок входа в систему, он открывал вход в всплывающее окно вместо перенаправления, это означает, что пользователю никогда не потребуется покидать сайт, и улучшение. Ниже приведен пример функциональности, которую я пытаюсь достичь: http://openid -demo.appspot.com /
На данный момент все это делается в php, кроме javascript, который открывает URL-адрес openId во всплывающем окне, но это не работает правильно, так как я не уверен, как передавать данные между главным окном и всплывающим окном после пользователь попытался войти во всплывающее окно или даже закрыть его.
Цель псевдокода:
- Пользователь переходит на страницу входа
- Пользователь выбирает Google / Yahoo / OpenId
- Открывается всплывающее окно
- Пользователь вводит данные
- В случае успеха всплывающее окно закрывается, и основные окна перенаправляются в личную зону
Существуют ли библиотеки OpenId, такие как lightopenid, с этой функцией всплывающих окон, или это лучший способ создать javascript, чтобы оба окна могли общаться? Моя единственная проблема в том, будут ли данные, передаваемые между ними, безопасными? Все эти функции входа в систему будут выполняться только по протоколу https.