当前位置:   article > 正文

loadUserByUsername无法获取到参数的可能情况_oauth2.0 loaduserbyusername 获取不到username

oauth2.0 loaduserbyusername 获取不到username

一. 请求传的参数名称错误,且没有配置usernameParameter

比如登陆的时候向后端发起请求,用户名的参数名称是name或者nickname,并且没有配置.usernameParameter()的话,后端是获取不到值的。

解决方法

1.将请求参数名改为username
2.在config中配置.usernameParameter(“参数名”)

比如.usernameParameter(“name”)
.usernameParameter(“nickname”)

二. security的config里面设置了.formLogin(),却没有使用表单提交

比如使用axios进行post请求提交。
解决方法

1.改为表单提交
2.伪造表单提交

// 2.1: 转换请求数据格式
let data = this.trans(this.user);
axios.post(url,data,{
    // 2.2: 添加这个请求头
    headers: {
        'Content-Type':'application/x-www-form-urlencoded'
    }
})


//转换请求数据格式方法
trans:function(user){
    let url = "";
    for (let k in user) {
        let value = user[k] !== undefined ? user[k] : "";
        url += `&${k}=${encodeURIComponent(value)}`;
    }
    return url ? url.substring(1):"";
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/481615
推荐阅读
相关标签
  

闽ICP备14008679号