获取 400 的状态 - "error":"invalid_grant" On Authentication
Posted
技术标签:
【中文标题】获取 400 的状态 - "error":"invalid_grant" On Authentication【英文标题】:Getting status of 400 - "error":"invalid_grant" On Authentication获取 400 的状态 - "error":"invalid_grant" On Authentication 【发布时间】:2021-12-04 19:19:12 【问题描述】:我创建了自己的网站 (www.luig.us)。我为 SQL 服务器创建了一个基本的 IDE,只教孩子 SQL,DML。
它要求用户在开始时输入用户名和密码以获得使用服务的令牌。
在本地,一切正常,但是当我把它放在我的网站上,由 go-daddy 托管时,我每次都会收到相同的消息,我不知道为什么。
"error":"invalid_grant"
这是我的 java 脚本代码 - 查找 Authorize。任何帮助表示赞赏。 我密切关注这篇文章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');
);
【问题讨论】:
如果 base64 编码字符串包含您用于基本身份验证的实际凭据,那么您应该立即更改它们。将它们进行 base64 编码并不比将它们以明文形式进行更安全。如果您在问题中使用了虚假凭据,那么请不要介意。现在回答你的问题。您使用的是哪个 OAuth 提供程序或授权服务器?你自己实现了吗? 关于不记名令牌,我真的不知道如何处理这部分过程。任何指导表示赞赏。我按照这些步骤c-sharpcorner.com/UploadFile/736ca4/… 是的,我自己实现了。 您是否在您的 Program 类中更新了 baseAddress 的值? step 6@FrancoPettigrosso 您没有提供服务器代码。顺便说一句,你不需要那个“承载者”。您的网站是公开的,并且像这样硬编码的“秘密”并没有做任何有用的事情。 是的,我也用邮递员试过了 【参考方案1】:问题不在于代码。问题在于:
-
连接字符串。这是不正确的。
我正在加密用户名和密码,但由于特殊字符而无法正确匹配
我做了什么来修复它。
-
修复了连接字符串
修复了存储哈希而不是字符串的算法。
【讨论】:
【参考方案2】:如果没有更多信息,我不能说太多,但我首先要检查的是您的数据库中是否确实有用户(或您正在使用的任何 oauth)。如果您的 oauth 数据库中实际上没有具有该用户名和密码的用户,则可能会导致您遇到的错误。
您用于uriManager.access
的端点是您必须检查该用户是否实际存在的地方。
【讨论】:
以上是关于获取 400 的状态 - "error":"invalid_grant" On Authentication的主要内容,如果未能解决你的问题,请参考以下文章
验证测试用户 "error_type": "OAuthException", "code": 400, "error_messa
jQuery:如何从 $.ajax.error 方法中获取 HTTP 状态代码?
Instagram oauth api 给出 "code": 400, "error_type": "OAuthException", &
Instagram oauth api 给出 "error_message": "匹配代码未找到或已被使用。", "code": 400,