gideongoldin / TurkGate

TurkGate: Grouping and Access Tools for External surveys (for use with Amazon Mechanical Turk)
http://gideongoldin.github.com/TurkGate
27 stars 5 forks source link

Add authentication #95

Open AdamDarlow opened 9 years ago

AdamDarlow commented 9 years ago

Having authentication would enable multiple features:

  1. Editing interfaces (e.g. manually adding workers) could use the authentication to prevent tampering
  2. Personalized pages such as a list of all of the user's surveys
  3. Other personalization or state-saving features

My preferred approach is to use Login with Amazon as opposed to implementing and storing credentials ourselves. Since TurkGate is meant for use with AMT, users must already have Amazon accounts. The main drawback is that it requires libcurl, according to the examples at http://login.amazon.com/website

If we don't want to require libcurl (in addition to mcrypt that we require now) the Google Identity Toolkit is an alternative that doesn't require any libraries. It provides https://github.com/google/identity-toolkit-php-client that we could include somehow. I think registering the site with Google will be slightly more cumbersome for TurkGate installers. In addition, it's likely but not guaranteed that users have Google accounts they'll want to use with TurkGate.