Overview
The goal of this appjar is to store and manage extended profile information for the authenticated users of an application.
Most applications require more than just a username and a password. Users typically need to associate a real name, contact details, and a profile picture with their account. Rather than each application implementing and maintaining this logic individually, the User Profile appjar provides a ready-made, consistent solution for storing and managing this information.
User Profile Data
Each profile is associated with an existing application user by username and can hold the following information: email address, first and last name, phone number, address, and a profile picture. The profile is optional — a user account can exist without a profile — but once created, the user can update or remove it at any time through the My Profile view.
User and Administrator Access
The appjar provides two views, intended for two different audiences:
- The My Profile view, where a user creates, views, edits, and deletes their own profile. It shows the profile of the logged-in user only.
- The profiles list, a management view that lists every profile in the system and allows creating, editing, or deleting any profile on behalf of any user.
Deciding who reaches each view is the responsibility of the application. Both views are available to any authenticated user, so an application that wants to restrict the profiles list to administrators applies its own security rules to it. The usual arrangement, and the one this documentation assumes, is to reserve the management view for administrators so that profile data remains private to each user.