Extend, Modify or clone the Django authentication system to
* export user data a) to LDAP and b) to Google Apps (see http://code.google.com/intl/de/apis/apps/gdata_provisioning_api_v2.0_reference.html#) Data should be exported on save/create of any record.
* use CouchDB instead of an SQL Database to store User Account information. The user's E-Mail-Address shoule be used in the "username" field, so user's dont have to remembern an additional username.
* Provide a simple application to change/reset Password (this can reuse 99% Django code)
* Provide a require_login decorator which checks if the user is already logged in and if not displays a login form. (You again can reuse a lot of django code for that.) The user should NOT be asked for his username but for his E-Mail Address instead.
During development we can NOT give you access to a Google Apps account for testing - you have to get one yourself.
Parts:
* New User Model compatible with Djangos Uder Model
* Application where an Admin can create and delete user (might use the Djaongo admin interface)
* Application where Users can change ther Passwort or reset ther password.
* Password reset should be implemented by emailing the user a one time link valid for 48 h which when followd allows the user to set a new password. When the Password has been changed, rend an informational email about the fact. The technique is described at http://is.gd/4OfsH and called "Weak Technique C – Emailing instructions on how to reset password" (yes I want you to implement a "weak" techmique
* Sample of the login_required decorator
Platform:
Pytohn 2.6, Django 1.0.x
Deliverables:
Deliverables
Django 1.0.x based application fulfilling above requirements.
Should work with sqlite and PostgreSQL. If you prefere you can use CouchDB instead.
Including a requirements.txt file which can be used with the pip utility to install all dependencies.
Plain white HTML pages containing the needed forms/UI.
Python Code must follow http://blogs.23.nu/disLEXia/2009/11/coding-guidelines/.
We encourage you to use existing OpenSource libraries where apropriate
You have to sign over the Copyright of all code written by you for this Projet to us.
Categories:
(Note: Like everything else on this page, these categories are part of the original contract for this bid request.)
Web, Security, Web Services, Other (Web), Python