我正在使用Node.js和Express + MongoDB创建REST API服务器.此API将具有不同的移动客户端(iOS,Android)以及稍后可能的Web应用程序.我需要用户登录才能执行一些API请求.没有我想要连接的第三方应用程序(没有Facebook,谷歌等).我也不想强迫用户访问网页或类似的东西,以便他们登录.
从我在SO上的多次搜索中看到的情况来看,最好的方法是让用户使用完整凭据登录一次,向他们发送一个令牌作为回报,并使用该令牌验证将来的请求,直到它过期.
但是,我不确定如何实现这一点.我对所有不同的策略感到困惑.这是通过HTTPS进行基本身份验证,使用OAuth,OAuth 2.0,......吗?我只是不知道该用什么.另外,我真的不想在这里重新发明轮子,不是因为我很懒,而是因为安全问题.有没有我可以用来实现这个的库?我听说过Passport,但我无法理解这是否可行.这听起来像是一般的东西,我确信那里有一个简单的解决方案.
谢谢!
我有一个使用静态方法来包装远程API调用的类.
一般来说,我不希望我的API服务器一直"监听"这些调用,而只是在程序使用该类时才监听.所以我需要一种方法告诉服务器在类加载时"唤醒"(我发送"唤醒"消息的方式是无关紧要的).
我知道我可以在调用第一个类方法时唤醒服务器,但是我希望它在类加载到正在运行的程序后立即就绪(即使它是懒惰加载的).
此外,知道何时不再使用该类会很好,所以我可以告诉服务器重新入睡.
基本上,我正在寻找整个班级的"构造者"和"终结者".可以这样做吗?
编辑:我忘了提到一个非常重要的事情,我不能让用户使用公共静态方法或类似的东西手动初始化/完成类.这堂课需要像普通的本地班级一样.