I've seen a couple of approaches on this mailing list for adding application specific fields to the User class. The first involves extending auth.User but this seems a little complex, and was specifically labeled an "advanced" method. It doesn't seem like you should have to break out deep black magic to do something so standard.
The other method is to have a foreign key pointing to a User. This is easier but it makes for a messy Admin interface (resulting in both a User class and a separate MyUser class that needs to be associated with a User). What is the "canonical" way for extending atuh.User with application specific fields?