gpt4 book ai didi

ember.js - 具有服务器端 Google OAuth 2 Passport 身份验证的 Ember 应用程序(节点)

转载 作者:行者123 更新时间:2023-12-03 06:39:31 24 4
gpt4 key购买 nike

我的 Ember 应用需要使用 Google OAuth 2 对用户进行身份验证。我希望能够将身份验证 token 存储在数据库中,因此我决定将身份验证过程放在服务器端,使用 Passport对于节点。

当服务器上的身份验证结束时,如何让您的 Ember 应用程序知道 Passport“ session ”?

最佳答案

通过 Passport 流程进行身份验证后,客户端在与服务器的所有通信中都会发送用户 session 及其请求。如果您希望 Handlebars 模板以用户存在为条件,我的方法是在服务器上设置以下请求处理程序:

app.get("/user", function (req,res) {
if (req.isAuthenticated()) {
res.json({
authenticated: true,
user: req.user
})
} else {
res.json({
authenticated: false,
user: null
})
}
})

在我的 Ember route ,我执行以下请求:

App.ApplicationRoute = Ember.Route.extend({
model: function () {
return $.get("/user").then(function (response) {
return {user: response.user};
})
}
});

这样在我的 Handlebars 模板中我可以执行以下操作:

{{#if user}}
<p>Hello, {{user.name}}</p>
{{else}}
<p>You must authenticate</p>
{{/if}}

关于ember.js - 具有服务器端 Google OAuth 2 Passport 身份验证的 Ember 应用程序(节点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18966917/

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