2017-07-19 1523 views
0

我在想,如果在Spring中安全性可以锁定休息api的所有端点,并且通过自定义验证而不使用用户名和密码进行登录。Spring Security自定义验证,无需使用用户密码

这就像创建一个接收令牌而不是用户/通过的自定义验证方法。然后该方法将验证与已经验证了调用者的第三方的令牌。

这听起来很熟悉到OAuth2只有后端API需要弹簧是安全的,并在同一时间,它是不是OAuth2用户端:

  1. 我们正在建立一个登录功能。
  2. 我们有一个客户端(移动应用程序),后端(像端点Spring MVC的REST)和一个用于OAuth2/OpenIdConnect流的AuthProvider。
  3. OAuth/OpenIDConnect流只发生在移动设备和OpenIDProvider之间。 (最初的呼叫发生从移动到后端以提供一些oauth流的细节)
  4. 一旦授权成功,移动应用程序会收到一个auth_code,然后才从应用程序调用后端到“Login”,这意味着验证auth_code,交换access_token,并创建用户会话。 (我们需要有一个会话)。
  5. 正如你看到的后端类型的“登录”,只需要接收auth_code,并在创建会话之前使用AuthProvider验证它。

非常感谢!

任何意见,或引用非常感谢。

回答

1

的Spring Security确定用户通过查看进行身份验证在SecurityContextHolder。这意味着你可以,只要你喜欢使用以下验证用户:

​​
+0

非常感谢Rob Winch!遵循您的建议,我可以使用自定义过滤器和提供程序来处理自定义验证。 – munilvc

相关问题