使用OAW2使用JWT保护Restful Web服务

时间:2015-04-29 10:20:55

标签: web-services api oauth-2.0 cxf jwt

您好我是Apache cxf rest API安全方面的新手。我希望通过授权来保护具有良好安全性的API。我发现Apache cxf提供了Ouath2安全功能(http://cxf.apache.org/docs/jax-rs-oauth2.html).So我需要使用json web token( http://jwt.io/)发送给API进行授权。我需要使用安全线来发送请求来休息API。到目前为止,我的设计很简单。enter image description here

我的REST api对数据库进行了CRUD操作。我认为在请求头中将JWT作为Access令牌发送。并且API端验证用户并将数据发送回用户。我有两个问题。第一个是这是最好的设计对于这种应用程序。第二个是如果这是生成令牌的最佳方式,我们需要在服务器端保留这些令牌。

1 个答案:

答案 0 :(得分:0)

是的,这是一个很好的设计

我可以用github web api来解释它

Authorize

首先,你通过在请求中发送客户端ID和回调url来验证自己使用API​​(这里你指定访问级别ie.scope)并且你收到一个代码

Access_token

然后你用这个代码交换访问令牌(这次使用req参数中包含的客户机密码)

收到的此访问令牌用于您代表用户进行的所有未来调用

Nd ya u存储此令牌并在服务器

刷新令牌

https://developer.github.com/v3/oauth/#web-application-flow

虽然这是针对github的,但类似的流程也适用于Twitter,链接和facebook web api的差异很小