最近公司在开发用户认证中心,采用Springsecurity+Oauth2.0+JWT来进行实现,在最后测试接口的时候访问/token接口报401.
网上查了许多资料,很多都说添加如下代码
security.allowFormAuthenticationForClients();
@Override
public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {
//允许客户端访问 OAuth2.0 授权接口
security.allowFormAuthenticationForClients();
//允许已授权用户访问 checkToken 接口
security.checkTokenAccess("isAuthenticated()");
//允许已授权用户访问 获取 token 接口
security.tokenKeyAccess("isAuthenticated()");
}
添加后测试还是401.
最后解决办法:在请求头中添加Authorization,格式为 Basic 空格 clientId:clientSecret 进行base64加密。最后请求成功。