Java Spring安全和Spring社会外部身份验证

Java Spring安全和Spring社会外部身份验证,java,spring,spring-mvc,authentication,spring-security,Java,Spring,Spring Mvc,Authentication,Spring Security,随着认证越来越难以正确进行,我决定最好将认证留给在安全方面享有良好声誉的公司,如Twitter和LinkedIn 我已经阅读了SpringSecurity和SpringSocial的文档,但没有找到任何关于将身份验证完全留给第三方的内容。他们只谈论拥有一个混合系统,有自己的用户数据库 从Spring的当前版本开始,它是否可以这样做 我使用的是Spring Boot Security 1.2和Spring Boot Social 1.2.1,但如果有必要,升级对我来说不是问题。没错。。您仍然需要将

随着认证越来越难以正确进行,我决定最好将认证留给在安全方面享有良好声誉的公司,如Twitter和LinkedIn

我已经阅读了SpringSecurity和SpringSocial的文档,但没有找到任何关于将身份验证完全留给第三方的内容。他们只谈论拥有一个混合系统,有自己的用户数据库

从Spring的当前版本开始,它是否可以这样做


我使用的是Spring Boot Security 1.2和Spring Boot Social 1.2.1,但如果有必要,升级对我来说不是问题。

没错。。您仍然需要将远程身份验证(即从OAuth提供程序)“链接”到本地用户模型

您的系统正在将身份验证委托给远程授权机构,该机构标识用户

处理这个问题的一个明智的方法是,一旦用户登录到OAuth提供程序,例如,您收到来自用户/提供程序的回调,您就可以根据OAuth授权机构的主体(通常是他们的电子邮件地址)在本地持久存储区中为他们自动创建一个用户模型


这样,用户无需手动注册您的服务,但是,您仍然可以获得与实际本地模型的强链接,并可以根据本地角色/组等应用您自己的授权检查。

Stormpath的存在正是因为您指定的原因:很难做到正确,您不妨将其外包给有安全专家的团队(即使你是安全专家,为什么还要浪费时间呢?)。你试过了吗

将社交登录集成到Facebook、Google、GitHub等内置的,以及

披露:我是Stormpath的首席技术官