获取 400 的状态 - {"error":"invalid_grant"} On Authentication
Getting status of 400 - {"error":"invalid_grant"} On Authentication
我创建了自己的网站 (www.luig.us)。我为 SQL 创建了一个基本的 IDE 服务器来教孩子们 SQL,仅 DML。
需要用户在开始时输入用户名和密码才能获得使用该服务的令牌。
在本地,一切正常,但是当我把它放在我的网站上,由 go-daddy 托管时,我每次都会收到相同的消息,我不知道为什么。
{"error":"invalid_grant"}
这是我的 java 脚本代码 - 寻找授权。任何帮助表示赞赏。
我密切关注这篇文章https://www.c-sharpcorner.com/UploadFile/736ca4/token-based-authentication-in-web-api-2/
function Authorize() {
let bearer = "Basic Q01JUzMwOERTMzA4OndlYkFQSQ=="
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
var userNameAndPasswordFilled = (email != "" && password != "");
if (!userNameAndPasswordFilled) {
$("#formError").show('fast');
}
else {
var bodyOfRequest = {
grant_type: "password",
username: email,
password: password
};
$.ajax({
type: "POST",
url: uriManager.access,
beforeSend: function (request) {
request.setRequestHeader("Authorization", bearer);
},
data: bodyOfRequest,
success: function (response) {
sessionStorage.setItem(programKeyWords.BearerToken, response.access_token);
$('#LogonModal').modal('hide');
},
error: function (response) {
$("#formError").show('fast');
}
});
}
}
没有更多信息我不能说太多,但我首先要检查的是您的数据库中是否确实有用户(或您正在使用的任何 oauth)。如果您的 oauth 数据库中实际上没有使用该用户名和密码的用户,则可能会导致您收到的错误。
您用于 uriManager.access
的端点是您必须检查该用户是否实际存在的地方。
问题不在于代码。问题在于:
- 连接字符串。这是不正确的。
- 我正在对用户名和密码进行加密,但由于特殊字符,它们没有正确匹配
我做了什么来修复它。
- 修复了连接字符串
- 修复了存储散列而不是字符串的算法。
我创建了自己的网站 (www.luig.us)。我为 SQL 创建了一个基本的 IDE 服务器来教孩子们 SQL,仅 DML。
需要用户在开始时输入用户名和密码才能获得使用该服务的令牌。
在本地,一切正常,但是当我把它放在我的网站上,由 go-daddy 托管时,我每次都会收到相同的消息,我不知道为什么。
{"error":"invalid_grant"}
这是我的 java 脚本代码 - 寻找授权。任何帮助表示赞赏。 我密切关注这篇文章https://www.c-sharpcorner.com/UploadFile/736ca4/token-based-authentication-in-web-api-2/
function Authorize() {
let bearer = "Basic Q01JUzMwOERTMzA4OndlYkFQSQ=="
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
var userNameAndPasswordFilled = (email != "" && password != "");
if (!userNameAndPasswordFilled) {
$("#formError").show('fast');
}
else {
var bodyOfRequest = {
grant_type: "password",
username: email,
password: password
};
$.ajax({
type: "POST",
url: uriManager.access,
beforeSend: function (request) {
request.setRequestHeader("Authorization", bearer);
},
data: bodyOfRequest,
success: function (response) {
sessionStorage.setItem(programKeyWords.BearerToken, response.access_token);
$('#LogonModal').modal('hide');
},
error: function (response) {
$("#formError").show('fast');
}
});
}
}
没有更多信息我不能说太多,但我首先要检查的是您的数据库中是否确实有用户(或您正在使用的任何 oauth)。如果您的 oauth 数据库中实际上没有使用该用户名和密码的用户,则可能会导致您收到的错误。
您用于 uriManager.access
的端点是您必须检查该用户是否实际存在的地方。
问题不在于代码。问题在于:
- 连接字符串。这是不正确的。
- 我正在对用户名和密码进行加密,但由于特殊字符,它们没有正确匹配
我做了什么来修复它。
- 修复了连接字符串
- 修复了存储散列而不是字符串的算法。