Javascript Ember Js中的自定义会话。如何设置/访问会话信息
因此,我在youtube上学习了如何授权使用会话令牌。主要会话代码如下所示Javascript Ember Js中的自定义会话。如何设置/访问会话信息,javascript,session,ember.js,ember-cli,Javascript,Session,Ember.js,Ember Cli,因此,我在youtube上学习了如何授权使用会话令牌。主要会话代码如下所示 //app/services/session.js import Ember from 'ember'; export default Ember.Service.extend({ token: null, authenticate(log, pass) { return Ember.$.ajax({ method: 'POST', url
//app/services/session.js
import Ember from 'ember';
export default Ember.Service.extend({
token: null,
authenticate(log, pass) {
return Ember.$.ajax({
method: 'POST',
url: '/token',
data: {username: log, password: pass}
}).then((info)=>{
this.set('token',info.access_token);
});
}
});
服务器设置在这里
//server/index.js
const bodyParser = require('body-parser');
module.exports = function(app) {
app.use(bodyParser.urlencoded({ extended: true}));
app.post('/token', function(req, res){
console.log(res);
if(req.body.username === 'erik' &&
req.body.password === 'password') {
res.send( { access_token: 'secretcode'});
} else {
res.status(400).send({ error: 'invalid_grant'});
}
});
app.get('/api/students', function(req, res) {
if( req.headers.authorization !== 'Bearer secretcode'){
return res.status(401).send('Unauthorized');
}
return res.status(200).send({
students: [
{ id: 1, name: 'Erik', age: 23},
{ id: 2, name: 'Bob', age: 52}
]
});
});
};
那么如何在会话令牌上设置多个信息呢。像用户id
?因此,只有当会话包含用户id
或仅在控制器中使用它时,我才授予对页面的访问权
click_if_authenticated(){ //use session.user_id here}
我建议您授权用户使用该库。如果已授权,则可以检查会话的状态,并显示所需的内容。此外,还可以定义需要经过身份验证的用户的路由和不需要身份验证的路由等。我认为这将比您尝试的方法更容易 任务是将其与数据库一起实现。在ember simple auth的情况下,我在什么时候与PockDB交互?在指南中,它使用component-componentjs-service-mock_服务器存储数据。你知道怎么解决这个问题吗?