Spring Security和Spring社交外部认证

时间:2015-01-27 11:36:31

标签: java spring spring-mvc authentication spring-security

鉴于身份验证现在变得越来越困难,我决定最好将身份验证留给在Twitter和LinkedIn等安全方面享有良好声誉的公司。

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

是否有可能使用Spring做这样的事情当前的版本?

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

2 个答案:

答案 0 :(得分:1)

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

您的系统正在将身份验证委派给远程机构,该机构可识别用户是谁。

一种理智的方法是,例如,一旦用户登录到OAuth提供程序,并且您收到来自用户/提供程序的回调,您就会在本地持久存储中基于此自动为它们创建用户模型他们在OAuth当局的负责人(通常是他们的电子邮件地址)

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

答案 1 :(得分:1)

由于您指定的确切原因存在Stormpath:很难做到正确而且您可能将此外包给拥有安全专家的团队(即使您是安全专家,为什么要浪费时间在它上面?)。你试过吗?

内置{,{3}}和Java SDK的Facebook,Google,GitHub等社交登录集成了一个很棒的Java webapp support

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