我有两个应用程序:
稍后,客户端应用程序将使用phonegap移植到android,iphone和其他平台。对于OAuth,我使用Facebook作为提供者。现在,我刚刚意识到JSON Web令牌是进行这种设置的方法。我的问题是体系结构的而不是语法的-在nodejs中用JWT对Facebook访问令牌和用户ID签名时如何管理密钥?
所以这是流程在我的应用程序中的工作方式:
var expressJwt = require(’express-jwt’);
var jwt = require(’jsonwebtoken’);
app.use(expressjwt({secret:’‘})。unless({path:[‘/ auth / login’]})));
var token = expressjwt.sign({profile},);
现在,我的问题是:
我有点迷失设计流程和机制。
广告1.您不必将JWT存储在数据库中。用户ID可以是有效负载的一部分,因此不需要它。
广告2。服务器端应用程序通常使用一个密钥来生成所有JWT。
广告3.检查对您的API的每次请求令牌是否已过期,如果令牌已过期则不允许访问,请返回401状态代码。客户端应用应提示用户输入凭据并请求新的JWT。如果要避免用户重新提交凭据,则可以发出刷新令牌,该刷新令牌以后可用于生成新的JWT。
http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app- using-asp-net-web-api-2-owin/