zorn-v / nextcloud-social-login

GNU Affero General Public License v3.0
198 stars 137 forks source link

allowing to merge accounts if email already exists locally #322

Closed SebiGo closed 2 years ago

SebiGo commented 2 years ago

I would like to merge a remote account into a local account, if it matches the local email address. Do you consider this to be useful? I'm happy to put more work into this.

SebiGo commented 2 years ago

On a second thought: prevent_create_email_exists is pretty "similar" as it also checks for the existence of an email. Maybe it would be better to obsolete prevent_create_email_exists, create a single-select setting "strategy_email_exists" with options ["create_new_account_anyway", "prevent_account_creation", "merge_into_existing_account"]. For backwards compatibility, if the new strategy_email_exists is not set, the value "prevent_create_email_exists" will get rewritten into strategy_email_exists=prevent_creation on first launch. What do you think? I'm happy to rewrite my PR - I have to get familiar with vue.js first, but that's a good excuse to finally look into it.

zorn-v commented 2 years ago

First - I have no point what you want to be done. There is no "login by email from provider" in this plugin. Read as "your code never be executed".

Second - "login by email from provider" is never be done in this plugin :smile:

Some providers may not require email confirmation etc, and because of this it possible to "mimic" as another nextcloud user (even as admin if know his email)

zorn-v commented 2 years ago

In other words, all I can trust (almost) is ID of user from provider.