集中式API提供商 - oAuth与否?

时间:2013-05-10 13:36:21

标签: java oauth oauth-2.0 openid shiro

我对信息的溢出感到有些迷茫,我需要一些指导,以支持只向受信任的客户提供API访问的最佳方式。

当前环境:

我们目前有一个集中服务器,通过Apache Shiro处理用户身份验证/授权。

我们拥有内部API,可与内部服务器进行内部通信,以验证和管理令牌。 (从而启用SSO)。

我们的客户端应用程序和API之间的通信通过SSL保护。
使用基于令牌的身份验证。

:定位:

我们的目标是允许第三方应用程序和API与我们的集中身份验证服务器进行通信。但我们主要担心的是网络钓鱼,因为我们只希望“有效”方与我们沟通,最好不要在第三方旁边公开身份验证信息。

问题:

1-实施此类架构的最佳方式是什么?我们应该继续使用OAuth吗?如果是的话,有没有一种很好的方法将它与Shiro整合?

2- OAuth也会在移动应用程序上做得好吗? (例如,除非应用程序受信任,否则限制对REST API的访问)

3-是否有可以与Java一起使用的OAuth提供程序库,或者OAuth只是我必须自己实现的“标准”? (例如,实现RESTful API)

4- SSO是否可以轻松支持OAuth?

对于模糊的问题,我们深表歉意。我只需要一般的指导和建议。

2 个答案:

答案 0 :(得分:2)

  1. 移动应用与OAuth完美配合。
  2. 可以使用OAuth启用SSO。
  3. 有关如何设置OAuth服务器/提供商的一些信息 - How would an efficient OAuth2.0 server / provider work?

    正如您所说,您需要让用户授权应用程序(接受/拒绝该应用程序要求的权限) - OAuth 2.0的完美用例。

    如果您需要更深入了解OAuth如何运作,请随时跟进。

    PS - 不知道与Shiro的整合。

答案 1 :(得分:2)

以下是我的答案,

  1. OAuth 2.0最适合您。我会说你应该去OAuth。
  2. 绝对是的。
  3. 有图书馆。 Apache OltuGoogle client library.
  4. 构建于OAuth之上的OpenID Connect规范可用于实现SSO。
相关问题