簡體   English   中英

春季啟動應用程序中的錯誤憑證錯誤

[英]bad credential error in spring-boot application

我正在使用Oauth2並連接SqlServer的spring-boot應用程序上工作。 因此,當我點擊如下所示的訪問令牌URL時:

localhost:8081/oauth/token?client_secret=secret&client_id=web&grant_type=password&username=XXXX&password=XXXXXXX

我得到的回應是:

{ "error": "invalid_grant", "error_description": "Bad credentials" }

所以我覺得這是因為@Table注釋和休眠所具有的命名約定錯誤。 使用spring 1.5.9 and hibernate 5.0.12 I / m。

我的Account.java文件是:

package com.oauth.oserver.entities;
import javax.persistence.*;


@Entity
@Table(name = "userinfo")
public class Account {

@Id
@GeneratedValue
private Long id;
@Column(name = "name")
private String username;
@Column(name = "password")
private String password;

public Account() {
}

public Account(String username, String password) {

    this.username = username;
    this.password = password;
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getUsername() {
    return username;

}

public void setUsername(String username) {
    this.username = username;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}
}

數據庫包含名稱為UserInfo表。

從OAuth2 doc( https://tools.ietf.org/html/rfc6749 ),該錯誤對應於:

invalid_grant提供的授權授權(例如,授權代碼,資源所有者憑證)或刷新令牌無效,已過期,已吊銷,與授權請求中使用的重定向URI不匹配,或已頒發給另一個客戶端。

因此,請確保您輸入了正確的贈款。 如果是這樣,請將@table名稱更改為“ UserInfo”,而不是“ userinfo”。 希望能有所幫助。 並請查看表命名策略: https : //docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/cfg/ImprovedNamingStrategy.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM