外部应用程序的Spring安全认证

时间:2014-03-08 13:12:13

标签: authentication oauth spring-security

我有一些基于这个帖子的后续问题:

Spring security authentication based on request parameter

所需的流程是:

  1. 外部服务已在我的应用程序中注册,并拥有一个消费者密钥&我申请的秘密。

  2. 外部服务通过传递消费者密钥& amp;来向我的应用程序发送令牌请求。秘密。

  3. 我的应用程序验证消费者密钥&秘密并提供令牌(有效期)。

  4. 外部应用程序为我的应用程序验证的后续请求发送令牌(可能使用上述链接中的方法)。

  5. 此流程与OAuth 1类似,但我不希望提供登录信息。访问授权页面给用户(如Facebook或Twitter)。用户必须在幕后进行身份验证。

    而不必为令牌处理编写代码&身份验证,Spring Security是否还有其他选项可以解决这个问题?

    此外,我希望将我现有的基于表单的登录保留到我的应用程序中,直接用户。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

这看起来像是一个2-legged OAuth流,其中请求令牌已经过预先验证,而不是由用户进行明确的验证。

您可以使用Spring Security OAuth来实现此类流程。看一下OAuth 2的实现:

http://projects.spring.io/spring-security-oauth/docs/oauth2.html

或者您可以修改OAuth 1.0实现以正确支持2-legged进程。我已经汇总了一篇文章,解释了如何修改Spring OAuth 1.0实现以实现真正的双腿流程(他们的2-legged流程实际上是一个0-legged实现):

http://codehustler.org/blog/spring-security-tutorial-2-legged-oauth-1-0/