translate / pootle

Online translation tool
http://pootle.translatehouse.org
GNU General Public License v3.0
1.48k stars 287 forks source link

Authentication via other providers #4354

Open JohnnyKing94 opened 8 years ago

JohnnyKing94 commented 8 years ago

For websites with larger or medium community, i always wanted to include users and password from other (external) databases (used by other platforms like blogs, cms, forums etc) to prevent people to register several times on the same community. Many cms are starting to adopt this technique and i'd like to see also Pootle including that. I checked if Django is able to use multi-db and it's supported: https://docs.djangoproject.com/en/dev/topics/db/multi-db/ Obviously not forgetting to add new encryption algorithms like blowfish, md5, sha1 etc used by other cms.

Therefore, even if you're focusing your attention on other matters, pls consider this in the future.

ta2-1 commented 8 years ago

@JohnnyKing94, can other platforms be linked via django-allauth? For instance, you can create automatically linked accounts (how it was done in https://translate.evernote.com/). Also I can't imagine how we can keep users in a separate db because there are a lot of fields in other tables referencing to users.

JohnnyKing94 commented 8 years ago

I don't know if all the platforms like Wordpress or Joomla can use django-allauth... but despite using this app, i was thinking something like this made by IPS Community collected under Login Handlers option with along Facebook, Twitter etc IPS External DB 1 IPS External DB 2

For instance with IPS, i could connect any platforms (pootle included, if the encryption algorithm included in the cms is the one you use for pootle) just pointing to their respective db fields. And if you wonder what about all the other fields (used by Pootle), you can store those missing informations in the pootle db like IPS does when someone is trying to login on IPS with wordpress login data for example (that's something i like of ips). It's like a continuation of the registration without inserting email/username/password again, but inserting only the missing data required for ips. I know it's something particular, that is just a case i liked for this new technique. For Wordpress is kind different, it's the same about the pointing stuff, but when there are extra data (fields), Wordpress requires that you import those fields. Same for other cms i encoutered.

But anyway i'll try to inform myself about this django-allauth app for wordpress or other platforms... if it's doable something with it.

I'll keep you posted...

dwaynebailey commented 8 years ago

@JohnnyKing94 I think this is what you might be looking for http://docs.translatehouse.org/projects/pootle/en/stable-2.7.3/server/auth.html which outlines how to use social auth using django-allauth.

JohnnyKing94 commented 8 years ago

So with this solution i can link Pootle to other platforms and use these platforms (eg Wordpress) as center of the website registration where login data are going to be shared? Basically i just need a solution where i can set a cms as first point of registration and all the data are shared by all other applications/cms (like pootle)... if it's this i'm searching, i thank you... i'll try to understand more in the tomorrow morning from the topic, now i'm tired and it's late... :D

ta2-1 commented 8 years ago

@JohnnyKing94 I think this plugin https://ru.wordpress.org/plugins/oauth2-provider/ might help.

JohnnyKing94 commented 8 years ago

After several research, i found these projects, this one is only for Wordpress: https://github.com/dellis23/django-wordpress-auth and a friend said to me, it should work cause he uses it... but i wanted not to be limited only to wordpress, so i kept looking on internet and i found this project called django-php-bridge and just reading the description, it is what i was looking for... a method to link the authentication forms of my php cms and my pootle... now i just need to understand how to make it work with Pootle... LINK: https://github.com/winhamwr/django-php-bridge

dwaynebailey commented 8 years ago

@JohnnyKing94 since Pootle makes use of allauth for linking to other providers and our code makes a lot of assumptions that the auth backend is allauth you may have quite a task to get that all working together.