3

我有以下问题:

我有 JAX-RS 服务,它有一个get操作:

@Path("/unsecure/")
@Produces("application/json")
public class MyUnsecureService {
    public MyUnsecureService() {

    }

    @GET
    @Path("/get/{id}")
    @Produces("application/json")
    public User get(@PathParam("id") String id) {
        return User.get(id);
    }
}

现在,我要为移动设备打开这个 API,我需要身份验证和授权机制来访问这个 API。

我的问题是我有受信任的应用程序(内部作业,在我的主机上运行的网站)应该能够根据需要无限制地公开此 API,以及移动设备,只有在以下情况下才能公开此 API他们有一个令牌,使用真实用户的加密登录/密码形成,可以在服务端使用来确定:

  1. 如果允许对该方法的请求。
  2. 如果参数正确(因此,用户无法获取其他用户的信息)。

这可以使用 OAuth1 或 OAuth2 吗?

4

2 回答 2

0

这是一个非常有效的问题。

您可能想看看 Oz(背景),AFAIU 将对您的用例大有帮助。就个人而言,我有兴趣解决 Java 的问题并跟踪 Eran 在 Java 实现(jironhawkj)方面的工作。最后用 Java 做 Oz(或类似的东西)。

现在发布的内容还不成熟,但如果您愿意,请与我们联系以获取详细信息。

JAX-RS 现在的具体问题似乎是SecurityContext

于 2013-06-01T22:28:49.110 回答
0

找到了答案:

使用客户端凭据和资源所有者授权,它们在 Apache CXF 的 OAuth2 实现中实现。

于 2013-06-27T12:26:24.500 回答