GSOC: Enhanced auth.user

9 views
Skip to first unread message

ab3

unread,
Apr 9, 2010, 2:27:39 PM4/9/10
to django-gsoc
GSOC Application Proposal: auth.User
====================================

You can find to official proposal here:
http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010/abe/t127083744719

Personal Info
-------------
I am a 21 year old computer science student from Belgium.
Last year I successfully participated in last years GSOC
for the pygame project. I wrote a python extension that
adds camera support to the osx version of pygamy. This
involved talking to the QuickTime library and working
with pygame's internal surface system. My mentor was Nirav Patel.

I am interested in programming, python, computer vision,
security. I am a member of hackerspace brussels and
hackerspace ghent.

name: Werner Laurensse (aka abe/ab3)
email/msn: el.lauwer (at) gmail.com
skype: wernerlaurensse
blog: http://abeocracy.be
twitter http://twitter.com/abeocracy
github: http://github.com/ab3

Please contact me for more info.


Knowledge
---------
Python
C
C++
C#
Objective-C
Java
SQL
JavaScript

bash
sed/awk
svn/git/hg

html/xml/xpath
web security: XSS/XSRF/SQL-injections

etc


Experience
----------
* Monopoly Game in Java
* Management System in Java
* Image filters C++, blur, sharpening, rotating, color
transformation, rotations, ...
* pygame camera module in C (Objective-C)
* tetris in pygmy
* circle in square game in pygmy
* django blog
* reddit clone in django
* event manager in django. users could register to participate
in events
* Web music player (currently in development)
Download songs using DAAP.
Play them with mplayer.
Vote on songs.
* etc


see github


The Problem
-----------
I will work on enhancing the auth.user to include the following
features:

* use email as username
* specific username length
* single name field instead of first_name/last_name
* etc

If I have time left I will add third part authetification
support for the following sites:

* Google
* Facebook
* Twitter
* OpenId
* etc

This is similar to: http://github.com/facebook/tornado/blob/master/tornado/auth.py


Proposal
--------
I propose to implement newauth that provides the same
capabilities as auth but with the possibility to
I propose to implement a framework that lets user specify there
own User class. This custom user class will be able to be
plugged in like described in the infamous #3011 ticket.

With this user framework a user will a able to specify a user
model using a base class. In the custom user class the
developer can specify the following things:

* fields and methods of the model
* behavior of anonymous user (possible permissions)
* the form, add_form and change_password_form that
django admin uses
*

To provide backward compatibility I will re-implement/modify
the existing User class using the User framework. Only the
old user model will use the get_profile() method. This way
all the internal python code can use the new system and
future changes to the authentication module, or possible
separation of this module into authentication and authorization
like discussed in ticket #3669 will be a more simple.

Timeline
--------
Week 1: Read Documentation/Code
Week 2-3: Discuss how the new auth.user must look to the
to the outside.
Week 4: Write UserTemplate
Week 5: Fix forms
Week 6: Fix admin
Week 7: re-implement old auth.User
Week 8: test 'new' old auth.User with existing code
Week 9-10: Write third party authentication

ab3

unread,
Apr 9, 2010, 2:49:12 PM4/9/10
to django-gsoc
I edited the timeline: http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010/abe/t127083843258

On Apr 9, 8:27 pm, ab3 <el.lau...@gmail.com> wrote:
> GSOC Application Proposal: auth.User
> ====================================
>

> You can find to official proposal here:http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010...


>
> Personal Info
> -------------
> I am a 21 year old computer science student from Belgium.
> Last year I successfully participated in last years GSOC
> for the pygame project. I wrote a python extension that
> adds camera support to the osx version of pygamy. This
> involved talking to the QuickTime library and working
> with pygame's internal surface system. My mentor was Nirav Patel.
>
> I am interested in programming, python, computer vision,
> security. I am a member of hackerspace brussels and
> hackerspace ghent.
>
> name: Werner Laurensse (aka abe/ab3)
> email/msn: el.lauwer (at) gmail.com
> skype: wernerlaurensse
> blog:http://abeocracy.be

> twitterhttp://twitter.com/abeocracy

Reply all
Reply to author
Forward
0 new messages