предоставить пользователям openid дополнительную информацию

Итак, я пишу приложение на python для google appengine на платформе шаблонов jinja2. Я заставил OpenID отлично работать на моем сайте, и он позволяет пользователю войти в систему, и я могу отобразить его адрес электронной почты / идентификатор в правом верхнем углу.

Теперь я хочу, чтобы пользователи имели свои собственные имена пользователей и могли хранить некоторые дополнительные данные о них, такие как посещения сайта и определенные сообщения в разделах сайта.

Я знаю, что мне нужно создать таблицу в базе данных с пользователями и всем остальным, но как правильно это сделать с помощью OpenID. Я хочу автоматически создавать пользователя, когда кто-то входит в систему в первый раз, но я не совсем уверен, как это сделать эффективно. Я думаю, что могу управлять этим, перенаправляя их на страницу после входа в систему, которая проверяет их федеративную _идентификацию в базе данных, и если она уже существует там, она просто перенаправляет их на домашнюю страницу, но если нет, то создает нового пользователя.

Есть ли более эффективный способ, чтобы я не запрашивал базу данных каждый раз, когда кто-то входит в систему, или это довольно приличный способ сделать это?

5
задан clifgray 25 June 2012 в 05:25
поделиться