いつもお世話になります。

Django 1.6と Python2.7を使用して開発を行っています。

Webブラウザだけでのログインはできるのですが、
モバイルのネイティブアプリケーションからのログインがうまく行きません。

urls.pyには以下のように記載させており、viewについてはDjangoの基本機能に任せております。

url(r'^accounts/login/$', 'django.contrib.auth.views.login', name='login1'),


https://github.com/django/django/blob/master/django/contrib/auth/views.py#L29-L32
のように、csrfのデコレータも付いているためcsrfについては問題はなさそうに見えます。

ネイティブアプリケーションからはPOSTするだけなので、
このページ自体が呼ばれることはないかもしれませんが、

テンプレートをオーバーライドしておりブラウザ版では使用しています。

以下が、 /registration/login.html のテンプレートのスニペットとなりますが、 

csrf_tokenのタグも含まれています。

<body style="margin-top: 5em;">
<div class="container">
    <form method="POST" action=".">{% csrf_token %}
    <div class="modal" style="position: relative; top: auto; left: auto; 
margin: 0 auto; z-index:1;">
        <div class="modal-header">

ネイティブのクライアントでcsrfのトークンキーを取得させるために、


def get_token(request):
    """ csrfトークンをとる """

    context = {}
    context.update(csrf(request))

    from django.utils.encoding import force_text
    context['csrf_token'] = force_text(context['csrf_token'])

    print context
    return HttpResponse(json.dumps(context), 
content_type="application/json")


ネイティブのクライアントのから、このようなviewにGETでアクセスさせてから
これを、csrfmiddlewaretokenをキーとして

csrfmiddlewaretoken
username
password
のパラメータをPOSTしております。

しかしながら、403 FORBIDDEN
が発生しました。
この解決方法はありますでしょうか?
そもそも、今のやり方で正しいのでしょうか?


また、今後ログインが成功したあとは、

views側でrequest.usernameなどを使っているため、
ユーザ名をクライアントからも取得できるようにしたいと思っております。

ご教示お願い致します。
何卒、よろしくお願いします。

-- 
-- 
-----------------                       http://djangoproject.jp/                
         -----------------
You received this message because you are subscribed to the Google Groups 
"django-ja" group.
To post to this group, send email to django-ja@googlegroups.com
To unsubscribe from this group, send email to 
django-ja-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/django-ja
--- 
このメールは Google グループのグループ「django-ja」の登録者に送られています。
このグループから退会し、グループからのメールの配信を停止するには django-ja+unsubscr...@googlegroups.com 
にメールを送信してください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

メールによる返信