Hi Ethan, comments in-line;

On Wed, Feb 12, 2014 at 1:41 PM, Ethan Lowry <[email protected]> wrote:

> Hi there,
>
> I have a bare-bones Django app set up and am planning on using the built
> in Django user auth to manage log in and registration via the Android app
> I'm developing.
>
> I've tried this a number of ways and can, for example, log in by sending a
> GET request such as ([url]/login?username=[username]&password=[password])
> and returning a JSON representation of the user if its valid.
>

Sending a users clear text password in a GET request is not a great
approach, you end up with an access log full of passwords, and generally
speaking it's an evil approach. You could use a one-time pad approach (i.e.
create a unique string based on the users password, but typically the size
of a password is small which increases the risk of brute forcing the string
to determine the password. [1] Though you could salt it a bunch of times
for good measure. [2].

[1] http://en.wikipedia.org/wiki/Key_(cryptography)#Key_choice
[2] http://en.wikipedia.org/wiki/Key_(cryptography)#Key_sizes


>
> Obviously this isn't an ideal or secure way of doing things and what I
> originally tried was sending a POST request, but this gets denied with a
> 403 and a message about not having a CSRF cookie attached.
> I did some reading up and get roughly what this is but could not find any
> mention of how to get around this issue if you have to send post request
> from another application as in my case - is it possible to do something
> like make a get request to Django and take a usable cookie from the
> response and attach it to my POST request before sending?
>

There's a couple of ways of doing this. You could disable the CSRF
protection for specific views [1], or use the CSRF AJAX approach [2].

[1]
https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#csrf-protection-should-be-disabled-for-just-a-few-views
[2] https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax


>
> If anyone knows much about this issue, or has any general advice or best
> practices regarding Django authentication on a mobile app, I'd much
> appreciate it.
>

Hopefully this answers your question, but let me know if I've
missed/overlooked anything.


>
> Thanks,
> Ethan
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/f823094f-ab12-4d99-9f89-66952002681b%40googlegroups.com
> .
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAHKQagE0LH80HdUMst76%3DM4Ni41fSmt%2BRkbnAv-qxnGFSeV4fA%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to