没有Oauth的JWT实现

时间:2015-12-03 23:09:12

标签: java angularjs rest jwt

我想用JWT和oauth创建一个带有角度js和REST服务的应用程序。我想知道如何实现刷新令牌或者为一周生成令牌的方法,例如,我必须做什么? 该架构是:Java,REST,Angular.js和Bootstrap

user send login and password 
the server return token 
app user token for access to rest api 
rest return result

1 个答案:

答案 0 :(得分:0)

在没有实现整个OAuth框架的情况下,绝对可以实现令牌认证方案。您的解决方案需要具备以下特征:

  • 需要交换凭证以获取访问令牌和刷新令牌(密码授予流程)
  • 您创建的令牌应使用服务器专用的密钥进行签名
  • 验证提供访问令牌的请求。它需要通过声明签名有效且令牌未过期来验证访问令牌
  • 如果出现有效的刷新令牌(刷新令牌授权流程)
  • ,则需要发出新的访问令牌
  • 访问令牌应具有更短的生命周期,然后刷新令牌
  • 如果刷新令牌已被撤销,则应拒绝刷新令牌(您需要维护已撤销令牌的黑名单。
  • 当使用刷新令牌获取新的访问令牌时,它应该进行额外的检查:帐户是否仍然启用?或任何其他与您的业务逻辑相关的检查。

开源解决方案是Kong

如果您想卸载此基础架构,可以考虑使用Stormpath这样的产品,它可以通过我们的Java Integrations将Oauth2令牌框架添加到现有应用程序中。免责声明:我在Stormpath工作,我认为访问令牌和刷新令牌是最好的!