【发布时间】: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
-
您没有提供服务器代码。顺便说一句,你不需要那个“承载者”。您的网站是公开的,并且像这样硬编码的“秘密”并没有做任何有用的事情。
-
是的,我也用邮递员试过了
标签: javascript c# api oauth