Agility CMS developers can augment UGC Profiles in order to allow users to authenticate using a variety of external providers such as Facebook Connect or OpenID. Typically these services provide a unique key with which you can associate users of the external provider with a UGC Profile. Integrating with these services usually involves performing authentication as described in that service's documentation and then storing that unique key as a part of the user's UGC Profile.
For example, to use Facebook as a secondary login provider, you could:
- Include a Facebook login button on your site's login and registration forms.
- Once the user has logged in using Facebook, you will be able to retrieve the user's ID using FB.getSession().uid.
- Store this information in a field on your Profile type, as well as any other information you may need from the user's info, as an alternative to requesting a username and password.
- When a user successfully logs in using Facebook, you can search your Profiles for a user with a matching Facebook user ID to know whether the user has previously logged in or needs to be created.