Система OpenID была изобретена для решения этой проблемы. В основном, кто-то приходит на ваш сайт и говорит: «Я XYZ, и вы можете проверить это, проверив ABC». Затем у вас есть провайдер OpenID (который, вероятно, будет сервером в вашей компании; если у вас есть LDAP, вы уже прошли большую часть пути), убедитесь, что они являются теми, кем себя называют (войдя на сайт провайдера OpenID). Если вы можете доверять провайдеру OpenID, и учетная запись OpenID не была скомпрометирована, то вы только что проверили своего пользователя. Вероятно, вы можете обойтись без формальной процедуры регистрации ... просто отправьте их на экран настройки учетной записи (при условии, что вам нужно больше, чем пароль + адрес электронной почты в вашем примере, так как оба они предоставляются через OpenID) при первом входе в систему.
Обратите внимание, что OpenID может только проверить, что у пользователя есть учетные данные для данного OpenID, а не то, что пользователь является уникальным или что они являются тем, кем они себя называют. Но это ничем не отличается от любой существующей схемы.
Он имеет то преимущество, что не требует от пользователя предоставления вам пароля, который он может забыть (и он может изменить свой пароль у поставщика OpenID, и он будет изменен для всех их сайтов, использующих OpenID). Для большинства основных языков доступны библиотеки OpenID, и сворачивание собственных не должно быть слишком сложным.