django-allauth
When browsing websites, you have probably seen buttons that allow you to log in using another website’s credentials – for example, using your GitHub login:
Figure 15.34 – The sign-in form with options to log in with Google or GitHub
Before we explain the process, let us introduce the terminology we will be using:
- Requesting site: The site the user is trying to log in to.
- Authentication provider: The third-party provider that the user is authenticating to (for example, Google or GitHub).
- Authentication application: This is something the creators of the requesting site set up on the authentication provider. It determines what permissions the requesting site will have with the authentication provider. For example, the requesting application can get access to your GitHub username but won’t have permission to write to your repositories. The user can stop the requesting site from accessing your information...