Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Approach for the unified login goal #37

Open
9 tasks
Xpirix opened this issue Jan 24, 2025 · 2 comments
Open
9 tasks

Approach for the unified login goal #37

Xpirix opened this issue Jan 24, 2025 · 2 comments
Assignees
Labels

Comments

@Xpirix
Copy link
Collaborator

Xpirix commented Jan 24, 2025

The suggestion here is to allow unified login accross our websites by allowing authentication using a Google or GitHub account.
We already have this feature on the changelog website https://changelog.qgis.org/en/accounts/login/ so I think we can adopt the same approach as already done there.

Image

The suggested library here is django-allauth: https://codeberg.org/allauth/django-allauth. Here are the detailed process

  • Install and set up django-allauth
  • Configure Social Providers: Enable Google+ API and get the Client ID and Secret, Create a new OAuth and get the ClientID and Client Secret on GitHub
  • Configure these keys in the settings and add them into the environment file
  • Update the login page: Add a button for Google and GitHub sign in
  • Handle Email Verification
  • Link existing account to the new social login method
    • When an existing user logs in with a social provide, we need check if their email address already exists in your database. If it does, you can link the social account to their existing account instead of creating a new one (should we even create a new account when it doesn't exist? See also my question below).
    • Enable the SOCIALACCOUNT_EMAIL_AUTHENTICATION setting to allow users to log in with their social account email if it matches an existing account. This setting ensures that if a user logs in with a social provider and their email matches an existing account, they will be logged into that account instead of creating a new one.
    • For existing users who are already logged in, provide an option to link their social account to their existing account.

Should we add an option to register new users? The current situation for the QGIS plugins and QGIS Hub is that the users must have an OSGeo account to be able to log in.

@Xpirix Xpirix added the Size 2 label Jan 24, 2025
@Xpirix Xpirix self-assigned this Jan 24, 2025
@Xpirix Xpirix changed the title Approach for the unified login Approach for the unified login goal Jan 24, 2025
@Xpirix Xpirix moved this to Next Sprint in QGIS Websites Maitenance Jan 24, 2025
@Xpirix Xpirix moved this from Next Sprint to This sprint in QGIS Websites Maitenance Feb 19, 2025
@Xpirix Xpirix moved this from This sprint to In Progress in QGIS Websites Maitenance Feb 20, 2025
@Xpirix Xpirix moved this from In Progress to Review in progress in QGIS Websites Maitenance Feb 24, 2025
@timlinux
Copy link
Member

Would be good to add Apple

@Xpirix
Copy link
Collaborator Author

Xpirix commented Feb 24, 2025

From @timlinux

We can implement the registration but with an additional step that asks the staff to provide the new user permission.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Review in progress
Development

No branches or pull requests

2 participants