• 【strapi系列】strapi在登录时调用api/auth/local获取token接口一直报401、403、400错误的问题解决


    问题描述

    strapi在调用api/auth/local登录接口时,一直报403 forbidden401 (Unauthorized) error问题。

    这个接口的作用其实就是使用用户名、密码登录,来获得token,以便获取需要Authenticated的接口数据。

    在这里插入图片描述

    这个问题来得很突然,是我在升级了strapi版本后产生的,我一度以为是框架升级过程中变更了什么配置导致。

    而且不管我是用user下的普通用户登录还是管理员用户登录都是这个问题。

    解决403 forbidden问题

    这个问题的本质原因是,调用api/auth/local登录接口,因为它是登录接口,是要用来获取token的,所以本身不需要token,即不需要’Authenticated’里的权限,那就是需要public权限了。让它开放给所有用户使用。所以,确保,你在设置-用户及角色权限-public-Users-permissions下的callback权限已经勾选。

    image-20230905115821368

    它对应的接口即为:

    image-20230905115840796

    解决401 (Unauthorized) error问题

    如果是其他需要认证的接口报这个问题,那么肯定是你的token已经过期,这时重新调用api/auth/local登录接口获取新的token即可。

    如果是在调用api/auth/local登录接口,也报这个错,那么很有可能你在该接口上使用了token,请注意,它是不需要token的。

    如果你是在postman调试遇到了这个问题,那么很有可能是你勾选了这个继承父级的token的选项,将其去掉即可:

    在这里插入图片描述

    调用认证接口需用注意的事项,解决400问题

    strapi中有两种用户,一种是管理员,另外一种是普通登录用户。

    所以,我们在API请求认证用户时,要填写的用户名,密码均是普通用户的,即内容管理器下的User用户,而非管理员用户,管理员只能登录网站后台。

    在这里插入图片描述

    如果你用管理员账号调用api/auth/local登录接口,就会报400 Bad Request错误,会提示你用户名或密码不对。

    我正在使用strapi开发uniapp微信小程序vue,如果你在使用strapi时,遇到了问题,请通过下方卡片信息联系。

    如果你在web前端开发、面试、前端学习路线有困难可以加我V:imqdcnn。免费答疑,行业深潜多年的技术牛人帮你解决bug。

    祝你能成为一名优秀的WEB前端开发工程师!

  • 相关阅读:
    卷积神经网络的算法过程,卷积神经网络原理简述
    【JUC系列】Fork/Join框架之概览
    OpenAI Sora视频模型技术原理报告解读
    猿创征文|为了学习英语,我开发了一个单词对战系统
    选择适合你的编程语言
    手撕Vuex-实现actions方法
    C语言之qsort()函数的模拟实现
    Netron【.pt转.onnx模型展示】
    Linux备份策略:保证数据安全
    英国伦敦交易所股票清单列表数据API接口
  • 原文地址:https://blog.csdn.net/imqdcn/article/details/132692942