gpt4 book ai didi

authentication - Backbone.js 和用户身份验证

转载 作者:行者123 更新时间:2023-12-04 00:06:53 25 4
gpt4 key购买 nike

我一直想知道如何使用 Backbone 对用户进行身份验证,因为我已经阅读了一些关于它的文章,其中很多都在谈论 token 和 key 。但我只想能够登录一个用户并像往常一样注册一个用户。

我在想,在 web 应用程序启动时,会有一个对路由“/me”的请求,然后如果用户登录,服务器会向用户返回适当的信息。

就像如果路线返回 {loggedIn: false} Backbone 路由器只会将用户发送到登录/注册页面。但是如果它返回一个用户的个人资料信息,那么这显然意味着他有一个 session 。

使用 Backbone 时,这是返回用户身份验证的好方法吗?

最佳答案

简短回答:连接 $.ajax 以响应 401(未经授权)状态代码。

长答案:我们正在使用来自单页网站的 RESTful api。当服务器检测到未经授权的请求时,它只会返回 401。客户端将重定向到/login?#requested/resource。
/login将提示授权(在我们的例子中重定向到谷歌的誓言服务器)然后添加一个授权 cookie 并重定向到最初请求的 #requested/resource
我们还在每个 $.ajax 请求上发送 auth cookie。

希望这是有帮助的。

define(
[
'jquery',
'jquery.cookie'
],
function ($) {
var redirectToLogin = function () {
var locationhref = "/login";
if (location.hash && location.hash.length > 0) {
locationhref += "?hash=" + location.hash.substring(1);
}
location.href = locationhref;
};

var $doc = $(document);
$doc.ajaxSend(function (event, xhr) {
var authToken = $.cookie('access_token');
if (authToken) {
xhr.setRequestHeader("Authorization", "Bearer " + authToken);
}
});

$doc.ajaxError(function (event, xhr) {
if (xhr.status == 401)
redirectToLogin();
});
});

关于authentication - Backbone.js 和用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11359497/

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