无法使用来自服务器(express)端路由的令牌重定向到客户端

无法使用来自服务器(express)端路由的令牌重定向到客户端,express,Express,我正在使用'googleapis'npm包进行基于令牌的google身份验证。 在谷歌提供身份验证后,我被重定向到express中的“/api/auth/success/google”路径,并将我们重定向到谷歌应用程序凭据中声明的uri 我面临的问题是,我已经在服务器端检索到令牌,但我无法将这些令牌发送到客户端,以便它们保存在cookie中 我面临的问题是,“/api/auth/success/google”是从google端重定向的,而不是来自客户端的ajax调用。因此,如果我将令牌以res形

我正在使用'googleapis'npm包进行基于令牌的google身份验证。 在谷歌提供身份验证后,我被重定向到express中的“/api/auth/success/google”路径,并将我们重定向到谷歌应用程序凭据中声明的uri

我面临的问题是,我已经在服务器端检索到令牌,但我无法将这些令牌发送到客户端,以便它们保存在cookie中

我面临的问题是,“/api/auth/success/google”是从google端重定向的,而不是来自客户端的ajax调用。因此,如果我将令牌以res形式发送回,它将重定向到哪里。另外,请建议一种从服务器端重定向到客户端的方法,以及access_令牌

服务器端代码。
//google成功登录/验证后到达的路由
app.get('/api/auth/success/google',函数(req,res){
日志(“内部重定向”);
var代码=req.query.code;
oauth2Client.getToken(代码、函数(错误、标记){
//现在令牌包含一个访问令牌和一个可选的刷新令牌。保存它们。
如果(!err){
oauth2Client.setCredentials(令牌);
}
res.sendFile('./index.html');
});
})
客户端呼叫
//此函数请求Google登录
谷歌登录{
event.preventDefault();
$.ajax({
键入:“POST”,
url:baseURL+“api/authenticate/google”,
成功:(功能(数据){
if(data.redirect){
document.location.href=data.redirect;
}
}).绑定(此)
});
} 
//googleaccess的路由处理请求
app.post('/api/authenticate/google',函数(req,res){
//生成请求Google+和Google日历范围权限的url
变量作用域=[
googlecredentials.SCOPE[0],
googlecredentials.SCOPE[1]
];
var url=oauth2Client.generateAuthUrl({
访问类型:“脱机”、“联机”/(默认)或“脱机”(获取刷新令牌)
scope:scopes//如果只需要一个作用域,则可以将其作为字符串传递
});
res.send({redirect:url});
})
//谷歌应用认证
var OAuth2=google.auth.OAuth2;
var oauth2Client=new OAuth2(googlecredentials.CLIENT\u ID、googlecredentials.CLIENT\u SECRET、googlecredentials.REDIRECT\u URL);
googlecredentials.CLIENT_ID-858093863410-j9ma1i7lgapupip1ckegc61plrlledtq.apps.googleusercontent.com

重定向URL-http://localhost:3000/api/auth/success/google 如果localhost:3000运行服务器端
如果您将重定向URL发送回res,客户端应该能够检查响应中是否存在重定向URL,如果存在,则将用户推送到该URL。

如果您将重定向URL发送回res,客户端应该能够检查响应中是否存在重定向URL,如果存在,则将用户推送到该URL