未提供身份验证凭据。 Django Rest Framework/JWT 和 React 原生 iOS

Posted

技术标签:

【中文标题】未提供身份验证凭据。 Django Rest Framework/JWT 和 React 原生 iOS【英文标题】:Authentication credentials were not provided. Django Rest Framework/JWT and React native 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 需要在帖子请求上试用斜线。然后只有它需要身份验证标头。所以我在我的网址末尾加了一个斜杠,问题就解决了。 【参考方案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 可以正常工作。

以上是关于未提供身份验证凭据。 Django Rest Framework/JWT 和 React 原生 iOS的主要内容,如果未能解决你的问题,请参考以下文章

Django Rest Framework JWT“未提供身份验证凭据。”

Django Rest Framework:未提供身份验证凭据

Django Rest Framework "detail":"未提供身份验证凭据。"

django-oauth-工具包; Django Rest Framework - 未提供身份验证凭据

未提供身份验证凭据。 Django Rest Framework/JWT 和 React 原生 iOS

“未提供身份验证凭据。” Django 和 AWS 应用程序