gpt4 book ai didi

android - 获取 token 身份验证 View 时出现 Django REST HTTP 400 错误

转载 作者:太空狗 更新时间:2023-10-29 13:21:22 25 4
gpt4 key购买 nike

我想在后端使用 Django 和 Django-REST frameowrk 来验证 native android 应用程序上的用户。我目前正在使用基于 token 的身份验证系统。 ( More details )

我已经实现了指南中列出的完全相同的程序来设置 token 身份验证。

现在我希望我的用户能够获得 token 以换取凭据。我使用以下代码发出 POST 请求:

      JSONObject cred = new JSONObject();

try {
cred.put("password",mPassword);
cred.put("username",mEmail);
} catch (JSONException e) {
e.printStackTrace();
}

try {

HttpClient httpClient = new DefaultHttpClient();

HttpPost httpPost = new HttpPost(Common.getServerUrl()+"/api-token-auth/");
StringEntity credentials = new StringEntity( cred.toString());
credentials.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-type", "application/json");
httpPost.setEntity(credentials);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();

// Read content & Log
inputStream = httpEntity.getContent();
Log.i("Asynctask", cred .toString());
...

但是,当我将此发布到我的 django 后端以获取“views.obtain_auth_token”时,我总是出现此错误:

在服务器上:

"POST /api-token-auth/ HTTP/1.1 400" 

我得到的回复:

{"non_field_errors":["Unable to log in with provided credentials."]}

我想了解抛出此 HTTP 400(错误请求错误)的原因

最佳答案

当提供的登录凭据无效时会出现此错误。

检查以下内容:

  • 你的用户存在于数据库的auth_user表中并且is_active字段设置为1?
  • 您的密码正确吗?
  • 您的用户在 authtoken_token 表中有一个 token ?

关于android - 获取 token 身份验证 View 时出现 Django REST HTTP 400 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28347200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com