在 ember 简单身份验证中将数据保存在浏览器的本地存储中
Save data in localstorage of browers in ember simple auth
我已经为 fb 使用了 ember-simple-auth login.I 我能够获取 fb 的 access_token 并将令牌发送到我的服务器以交换服务器 token.This工作正常,我能够过渡到用户提要 page.But 我面临的问题是第一次 user.I 在将他们带到他们的提要之前必须向他们展示一些引导屏幕 screen.And 从下次我可以跳过他们的入职流程。
torii.js
export default Torii.extend({
torii: service('torii'),
authenticate() {
return new RSVP.Promise((resolve, reject) => {
this._super(...arguments).then((data) => {
console.log(data.accessToken);
raw({
url: 'http://example.co.in/api/socialsignup/',
type: 'POST',
dataType: 'json',
data: { 'access_token':data.accessToken,'provider':'facebook'}
}).then((response) => {
console.log(response.token);
resolve({
// jscs:disable requireCamelCaseOrUpperCaseIdentifiers
access_token: response.token,
// jscs:enable requireCamelCaseOrUpperCaseIdentifiers
provider: data.provider
});
}, reject);
}, reject);
});
}
});
我从我的服务器得到的响应是这样的。
对于初次使用的用户。
{access_token:'abcd...',signup_done:false}
当 Signup_done 为假时,我必须向用户显示引导屏幕并向服务器“http://example.co.in/api/post/signupdone”
发出 POST 请求
普通用户
{access_token:'abcd...',singup_done:true}
这次我只需要将用户移动到他们的 feed 屏幕,跳过入职屏幕。
我想将 singup_done 从服务器保存到我的 cookie 或浏览器本地存储(不确定)。这样我就可以在我的车把、控制器、模型中使用这个值,component.I am也接受其他建议,通过简单 method.Please 提前使用代码 example.Thanks 来实现。
您可以通过设置将数据保存在会话的 data
中:
this.get('session').set('data.signupDone', true);
这样 signupDone
将被持久化(在会话失效时也是如此)。当然,如果用户在另一个浏览器中登录,则数据将不再存在,因此您应该将 属性 存储在服务器端的资源中。
我已经为 fb 使用了 ember-simple-auth login.I 我能够获取 fb 的 access_token 并将令牌发送到我的服务器以交换服务器 token.This工作正常,我能够过渡到用户提要 page.But 我面临的问题是第一次 user.I 在将他们带到他们的提要之前必须向他们展示一些引导屏幕 screen.And 从下次我可以跳过他们的入职流程。
torii.js
export default Torii.extend({
torii: service('torii'),
authenticate() {
return new RSVP.Promise((resolve, reject) => {
this._super(...arguments).then((data) => {
console.log(data.accessToken);
raw({
url: 'http://example.co.in/api/socialsignup/',
type: 'POST',
dataType: 'json',
data: { 'access_token':data.accessToken,'provider':'facebook'}
}).then((response) => {
console.log(response.token);
resolve({
// jscs:disable requireCamelCaseOrUpperCaseIdentifiers
access_token: response.token,
// jscs:enable requireCamelCaseOrUpperCaseIdentifiers
provider: data.provider
});
}, reject);
}, reject);
});
}
});
我从我的服务器得到的响应是这样的。
对于初次使用的用户。
{access_token:'abcd...',signup_done:false}
当 Signup_done 为假时,我必须向用户显示引导屏幕并向服务器“http://example.co.in/api/post/signupdone”
发出 POST 请求普通用户
{access_token:'abcd...',singup_done:true}
这次我只需要将用户移动到他们的 feed 屏幕,跳过入职屏幕。
我想将 singup_done 从服务器保存到我的 cookie 或浏览器本地存储(不确定)。这样我就可以在我的车把、控制器、模型中使用这个值,component.I am也接受其他建议,通过简单 method.Please 提前使用代码 example.Thanks 来实现。
您可以通过设置将数据保存在会话的 data
中:
this.get('session').set('data.signupDone', true);
这样 signupDone
将被持久化(在会话失效时也是如此)。当然,如果用户在另一个浏览器中登录,则数据将不再存在,因此您应该将 属性 存储在服务器端的资源中。