使用环回+通行证策略寻找更多信息
Looking for more info with the loopback + passport strategy
我有兴趣使用环回和通行证(和 AngularJS)创建应用程序。
我看到 this 我已经启动的示例应用程序和 运行,我可以通过 google 登录。我不太明白这应该如何与 AngularJS 应用程序一起使用。使用示例应用程序,一切都在服务器上完成 (auth)。登录后,这与客户端 (AngularJS) 和环回服务器之间所需的访问令牌有何关系?我可以看到使用来自 google 的访问令牌和其他身份信息创建的用户,但是 "connect" 如何使用客户端所需的访问令牌 (AngularJS)?
我也主要从它开始,但这是我目前掌握的:
3rd party provider <--- OAuth token ---> Loopback app <--- LB Token ---> Client
用于与第三方提供商交互的 OAuth 令牌由 passport 提取,到目前为止我从来不需要与之交互。
基本上,一旦您使用 OAuth 登录,必须生成一个 LB 令牌并提供给用户,以便进一步识别用户。
为此,我在 serializeUser
中实现了一些自定义代码。我的自定义用户模型称为 Client
app.serializeUser = function(userDataToSerialize, done) {
app.models.Client.create({
email: userDataToSerialize.email,
password: userDataToSerialize.password
},
function(err, user) {
if (err) return done(err);
app.models.Client.generateVerificationToken(user, function(err, token) {
if(err) return done(err);
done(null, {
userId: user.id,
accessToken: token
});
});
};
我创建了一个新客户端,然后为该用户生成了一个令牌。使用令牌和用户 ID 调用 done(null,..)
将使 passport 将此数据放入会话中,因此应该可以在客户端访问。
这样,Angular 应用应该能够获取用户 ID 和访问令牌,由 Loopback 正确识别,然后 Loopback 应用可以代表识别的用户向第三方提供商发出请求.
希望对您有所帮助
我有兴趣使用环回和通行证(和 AngularJS)创建应用程序。
我看到 this 我已经启动的示例应用程序和 运行,我可以通过 google 登录。我不太明白这应该如何与 AngularJS 应用程序一起使用。使用示例应用程序,一切都在服务器上完成 (auth)。登录后,这与客户端 (AngularJS) 和环回服务器之间所需的访问令牌有何关系?我可以看到使用来自 google 的访问令牌和其他身份信息创建的用户,但是 "connect" 如何使用客户端所需的访问令牌 (AngularJS)?
我也主要从它开始,但这是我目前掌握的:
3rd party provider <--- OAuth token ---> Loopback app <--- LB Token ---> Client
用于与第三方提供商交互的 OAuth 令牌由 passport 提取,到目前为止我从来不需要与之交互。
基本上,一旦您使用 OAuth 登录,必须生成一个 LB 令牌并提供给用户,以便进一步识别用户。
为此,我在 serializeUser
中实现了一些自定义代码。我的自定义用户模型称为 Client
app.serializeUser = function(userDataToSerialize, done) {
app.models.Client.create({
email: userDataToSerialize.email,
password: userDataToSerialize.password
},
function(err, user) {
if (err) return done(err);
app.models.Client.generateVerificationToken(user, function(err, token) {
if(err) return done(err);
done(null, {
userId: user.id,
accessToken: token
});
});
};
我创建了一个新客户端,然后为该用户生成了一个令牌。使用令牌和用户 ID 调用 done(null,..)
将使 passport 将此数据放入会话中,因此应该可以在客户端访问。
这样,Angular 应用应该能够获取用户 ID 和访问令牌,由 Loopback 正确识别,然后 Loopback 应用可以代表识别的用户向第三方提供商发出请求.
希望对您有所帮助