4

我在我的 django 项目中使用了 graphene-django 和 django-graphql-jwt。当我设置无效凭据时,服务器会引发“无效凭据”异常。

无效凭据是否应该在服务器上引发异常?当我用错误的数据测试 tokenAuth 突变时,Django 服务器会引发异常。

Django服务器日志:

  File "/Users/cgf/.local/share/virtualenvs/testdjangoauthbackend-183R1gMP/lib/python3.7/site-packages/promise/promise.py", line 487, in _resolve_from_executor
    executor(resolve, reject)
  File "/Users/cgf/.local/share/virtualenvs/testdjangoauthbackend-183R1gMP/lib/python3.7/site-packages/promise/promise.py", line 754, in executor
    return resolve(f(*args, **kwargs))
  File "/Users/cgf/.local/share/virtualenvs/testdjangoauthbackend-183R1gMP/lib/python3.7/site-packages/graphql/execution/middleware.py", line 75, in make_it_promise
    return next(*args, **kwargs)
  File "/Users/cgf/.local/share/virtualenvs/testdjangoauthbackend-183R1gMP/lib/python3.7/site-packages/graphql_jwt/decorators.py", line 106, in wrapper
    result = f(cls, root, info, **kwargs)
  File "/Users/cgf/.local/share/virtualenvs/testdjangoauthbackend-183R1gMP/lib/python3.7/site-packages/graphql_jwt/decorators.py", line 89, in wrapper
    _('Please, enter valid credentials'))
graphql.error.located_error.GraphQLLocatedError: Please, enter valid credentials
4

2 回答 2

2

我也经历过同样的事情。实际上,他们是故意显示堆栈跟踪的。我想,这个问题很快就会得到解决。查看this thread详情。

于 2020-01-15T01:59:16.393 回答
1

django-graphql-auth扩展了 django-graphql-jwt 以添加更多功能,例如注册、电子邮件验证...

优点之一是它返回标准输出,包含successand errors

例如,它不会像 in django-graphql-jwtfor invalid credentials 那样引发错误,而是返回:

{
  "data": {
    "tokenAuth": {
      "success": false,
      "errors": {
        "nonFieldErrors": [
          {
            "message": "Please, enter valid credentials.",
            "code": "invalid_credentials"
          }
        ]
      },
      "token": null,
      "refreshToken": null,
      "unarchiving": false,
      "user": null
    }
  }
}
于 2020-02-06T00:39:26.113 回答