【问题标题】:Authentication credentials were not provided. Django Rest Framework/JWT and React native iOS未提供身份验证凭据。 Django Rest Framework/JWT 和 React 原生 iOS
【发布时间】:2019-07-19 20:00:18
【问题描述】:
    axios.get(
        url,
        {
            headers: {
                Authorization: "Bearer " + access_token
            }
        }
    )

这是我当前在我的 react native 项目中发送到服务器的请求。当它在 Android 上运行时,它可以正常工作。但在 iOS 上它显示 Authentication credentials were not provided。这有什么问题。只有当我尝试随请求发送承载令牌时才会发生这种情况。否则,axios 也适用于 ios。请帮我找出问题所在。谢谢。

Django 设置部分

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ),
}

SIMPLE_JWT = {
    'ACCESS_TOKEN_LIFETIME': timedelta(days=1),
    'REFRESH_TOKEN_LIFETIME': timedelta(days=5),
    'ROTATE_REFRESH_TOKENS': True,
    'BLACKLIST_AFTER_ROTATION': True
}

【问题讨论】:

  • 你能发布django设置模块吗?很可能是由于 JWT 前缀设置造成的?
  • 我更新了 django 设置部分
  • 您好,您找到解决此错误的方法了吗?未提供身份验证凭据
  • @PrashantGaikwad 问题是一个斜线。 iOS 需要在帖子请求上试用斜线。然后只有它需要身份验证标头。所以我在我的网址末尾加了一个斜杠,问题就解决了。

标签: django react-native django-rest-framework jwt axios


【解决方案1】:

嗨,默认的 Jwt 前缀 auth 前缀是 JWT。

 Authorization: "JWT" + access_token

或者您可以从设置中更改前缀

'JWT_AUTH_HEADER_PREFIX': 'Bearer',

https://getblimp.github.io/django-rest-framework-jwt/

【讨论】:

  • 我正在使用 djangorestframework-simplejwt==3.2.3 作为网络令牌。第二件事是,当我在 android 应用程序和 Postman 上运行相同的代码时,这个 API 可以正常工作。
猜你喜欢
  • 2018-02-25
  • 2019-02-19
  • 1970-01-01
  • 2015-05-16
  • 2019-04-29
  • 2015-01-10
  • 2015-02-05
  • 2021-06-15
  • 2022-11-10
相关资源
最近更新 更多