daj openid użytkownikom dodatkowe informacje

Piszę więc aplikację w pythonie dla aplikacji Google na platformie szablonów jinja2. Dostałem OpenID, aby działał dobrze na mojej stronie i pozwala użytkownikowi zalogować się, a ja mogę wyświetlić ich e-mail / ID w prawym górnym rogu.

Teraz chcę, aby użytkownicy mieli swoje własne nazwy użytkownika i mogli przechowywać dodatkowe dane o nich, takie jak odwiedziny witryny i niektóre posty w obszarach witryny.

Wiem, że muszę utworzyć tabelę w bazie danych z użytkownikami i wszystkim, ale jaki jest właściwy sposób, aby to zrobić za pomocą OpenID. Chcę automatycznie utworzyć użytkownika, gdy ktoś zaloguje się po raz pierwszy, ale nie jestem pewien, jak to zrobić efektywnie. Myślę, że mogę nim zarządzać, przekierowując je na stronę po zalogowaniu, która sprawdza ich federacyjną identyfikację w bazie danych i jeśli już tam istnieje, przekierowuje ich na stronę główną, ale jeśli nie, to tworzy nowego użytkownika.

Czy istnieje bardziej skuteczny sposób, aby nie odpytywać bazy danych za każdym razem, gdy ktoś się loguje lub czy jest to całkiem przyzwoity sposób?