我是Spring Boot的新手,我正在尝试配置OAuth 2.0.我现在遇到的问题是,当我尝试请求访问令牌时,我不断收到以下消息:
{"error":"invalid_grant","error_description":"凭据错误"}
Spring Boot控制台中的错误消息表明找不到用户.
:使用org.springframework.security.authentication.dao.DaoAuthenticationProvider验证尝试:用户"stromero"未找到:返回singleton的bean的缓存实例"authenticationAuditListener"
我已经使用JPA实现了已经保存到数据库的自定义用户,我无法确定为什么Spring Security无法找到此用户,这可能是我的逻辑或配置问题.如果具有更多经验的人可以查看我的代码并且可能指导我找到正确的方向,那将非常感激.
这是HTTP请求:
POST /的OAuth /令牌HTTP/1.1主机:本地主机:8181授权:基本YnJvd3NlcjpzZWNyZXQ =缓存控制:无缓存内容类型:应用程序/ x-WWW窗体-urlencoded用户名= stromero和密码=密码&CLIENT_ID =浏览器&client_secret =秘密&grant_type =密码
这些是我用来实现自定义用户和OAuth 2.0的类
@Repository
public interface UserRepository extends CrudRepository<CustomUser, String> {
public CustomUser findByUsername(String name);
}
Run Code Online (Sandbox Code Playgroud)
以下是我创建的自定义用户
@Entity
@Table (name = "custom_user")
public class CustomUser {
@Id
@Column(name = "id", nullable = false, updatable = false)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "username", unique=true, nullable = false)
private String username;
@Column(name = "password", nullable = false)
private String password;
@ElementCollection …Run Code Online (Sandbox Code Playgroud) oauth-2.0 spring-boot spring-security-oauth2 userdetailsservice