gpt4 book ai didi

python - 混合 Web 应用程序中的 RESTful 身份验证

转载 作者:行者123 更新时间:2023-12-01 04:36:13 25 4
gpt4 key购买 nike

我正在使用 Flask 编写一个混合网络应用程序。我所说的混合是指既有使用模板引擎构建的传统 Web 服务器应用程序,也有用于客户端应用程序的 RESTful API。所以这是我的困惑:

在我当前的应用程序中,用户通过 Web 服务器登录,以便创建 HTTP session ,然后用户可以执行操作。然而,在其中一个页面中,有一个操作是通过 AJAX 调用同一应用程序的 RESTful 部分来完成的。通常,在此 API 中,用户必须再次验证自己的身份。但这里客户端代码无法知道用户名和密码。这里正确的模式是什么?

最佳答案

您可以在ajax调用中验证用户客户端:

例如:

$.ajax({
url: 'http://example.com/api.ashx/v2/users.xml',
beforeSend: addHeaders,
dataType: "text",
processData: false,
success: function(data, status) {
// do stuff here
},
error: function(xhr, status, error) {
// do stuff here
}
});

var addHeaders = function(xhr) {
var restAuthHeader = readCookie("AuthorizationCookie");
if (restAuthHeader != null) {
xhr.setRequestHeader("Rest-Authorization-Code", restAuthHeader);
}
};

var readCookie = function(input) {
var nameEQ = input + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[ i ];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0)
return c.substring(nameEQ.length, c.length);
}
return null;
};

关于python - 混合 Web 应用程序中的 RESTful 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31648527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com