所以在我的角度js应用程序服务中称为' authService'我有以下资源:
var userAreaLogin = $resource('/api/user_area/login');
var userAreaSignup = $resource('/api/user_area/signup');
var session = $resource('/api/user_area/getSession');
var userAreaLogout = $resource('/api/user_area/logout');
但这感觉不对,我只使用get方法,例如:
this.login = function(credentials) {
var user = userAreaLogin.get(credentials, function() {
...
});
};
this.signup = function(userInfo) {
var signup = userAreaSignup.get(userInfo, function() {
...
});
};
我对使用什么资源很困惑,我应该有这样的东西吗?
var session = $resource('/api/user/session');
var userArea = $resource('/api/user');
userArea.get(credentials); //should login the user?
userArea.post(credentials); //should signup the user?
session.delete(); //should logout the user?
session.get(); //should get the sessions of the logged user if any?
答案 0 :(得分:0)
REST会话由客户端维护,而不是由服务维护。您应该使用HTTPS并在每个请求中发送用户名和密码(例如使用HTTP基本身份验证标头)而不是使用会话cookie ...(stateless constraint)
OFC。在客户端,您可以登录和注销,这将改变通过AJAX发送的auth标头的内容。
答案 1 :(得分:-1)
你正朝着正确的方向前进。 在设计良好的REST API中,你应该有这样的东西。
POST /users/sign_in # Create a user session (signs in)
DELETE /users/sign_out # Delete a user session (signs out)
POST /users # Create a new user resource
GET /users/:id # Get the user resource
根据这些API,您可以定义您的服务。我还建议使用更好的$ http,尽管你会写几行代码。
# Session related methods
Session.create
Session.delete
# User related methods
User.create
User.get
希望这会让事情更加清晰。