【发布时间】:2011-09-18 12:45:56
【问题描述】:
我有一个使用用户名/密码 SpringSecurity 配置的工作 Web 应用程序。现在我想将它移植到一个简单的 Facebook 应用程序中。出于某种原因,我想通过使用返回的 facebook 访问令牌以及保留用户名-密码验证器来进行身份验证。
详细来说,我会检查用户 facebook 访问令牌以进行身份验证,由以下人员返回:
https://graph.facebook.com/oauth/access_token?client_id=[my_api_key]&redirect_uri=[my_redirect_uri]&client_secret=[my_api_secret]&code=[code]
用户无需提供任何用户名/密码,因为他们已经使用 facebook 登录。但我想保留(用户名/密码)spring 安全配置,以便用户可以登录我的原始网站。
SpringSecurity 是否支持这种身份验证?如果答案是肯定的,我想知道如何做到这一点?我需要编写自定义身份验证提供程序吗?
更新:最后我们自定义了SpringSecurity的认证方式,通过扩展UsernamePasswordAuthenticationFilter(声明为formLoginFilter)接受access_token作为认证参数
【问题讨论】:
-
@HaveAGuess:我已经更新了我在问题中的答案。
标签: java security facebook spring-mvc spring-security