В идеале регистрация не требуется вообще, кроме простого OpenID. Требуется ли вашему сайту , чтобы знать больше, чем идентификатор пользователя, для обеспечения какой-либо функциональности вообще?
Если ваш сайт может предлагать пользователям какие-либо услуги (даже просто информационные), не запрашивая больше, чем их идентификатор, который предоставляет OpenID, тогда вообще не будет страницы регистрации. Это, безусловно, лучший вариант для пользователей и снизит барьер доступа новых пользователей на ваш сайт. Затем, когда пользователь заходит на страницу, которая предлагает что-то, что требует от него более подробной информации о себе, прикрепите его к странице регистрации в это время.
Если вам необходимо открыть страницу регистрации для всех новых пользователей, я советую вам проверять каждый раз, когда кто-то входит в систему со своим OpenID. Если при успешном входе в систему вы узнаете заявленный идентификатор OpenID, вы просто пропустите их ... в противном случае вы создадите для них запись в базе данных и перенаправите их в регистрационную форму.
Вы можете оптимизировать работу с помощью расширений OpenID, таких как Простая регистрация или Обмен атрибутами, чтобы пользователь мог получить предварительно заполненную регистрационную форму благодаря OpenID Provider, что еще больше упростит процесс регистрации.