Spring SSO和帐户创建
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring SSO和帐户创建相关的知识,希望对你有一定的参考价值。
所以我正在开展一个大学项目,我的团队需要创建一个android应用程序,该应用程序通过spring与后端构建进行对话。到目前为止,我们一直在使用JWT进行用户身份验证/授权,一切都很好,花花公子。但是,我们的客户想要与谷歌和Facebook进行单点登录,当然仍然可以创建一个帐户,就像这个表格一样(但是在Android上,而不是浏览器)。
我花了上个月研究和谷歌搜索如何做到这一点,特别是它应该如何与Android应用程序集成。我觉得我错过了一个关键点,因为我到处都看到了这一点,所以我认为这并不难。据我所知,我可以有两个端点:login / google,login / facebook获得授权服务器授权。我有,我遵循了这个指南,我理解它的70%。
然后我的想法是让第一次登录的用户保存在我们的数据库中。我不完全确定如何做到这一点(因为我不完全确定SSO弹簧代码是如何工作的......)。我的主要问题是:
- 如何使用google / fb进行社交登录以及使用凭据进行帐户/登录的能力。
- 如果用户要创建帐户,我是否拥有自己的授权服务器来存储凭据,或者我是否在主服务器上进行管理。
- 我如何处理Android应用程序?我是存储刷新令牌还是我还做其他事情?
再一次,我觉得我在这里错过了一个关键点,我只是在困惑中迷茫。如果你们能为我清理一切,我将非常感激!
PS:我已经做了很多研究并阅读了很多指南,其中大部分都是基本的...我不是在寻找任何人给我写代码,我正在找人解释整个事情是怎样的应该工作。
有几件事
- 您希望与任何社交提供商(如google / fb)集成spring-social。按照教程添加依赖关系并进行配置请参阅https://github.com/spring-projects/spring-social/wiki/quick-start
- 如果您还希望用户创建自己的帐户,则不需要授权服务器。您需要的是具有配置的弹簧安全香草形式设置
就像是
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.formLogin()
.loginPage("/login/")
.loginProcessingUrl("/j_spring_security_check")
.usernameParameter("j_username")
.passwordParameter("j_password")
.successHandler(authenticationSuccessHandler())
.failureHandler(authenticationFailureHandler())
.permitAll()
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessHandler(logoutSuccessHandler())
.invalidateHttpSession(true)
}
- 是的,但我建议你找一个你可以插入的oauth库..希望它能为你处理refresh_token逻辑..你不应该自己实现这些东西。
我希望这对一些人有所帮助,你问的这些问题非常广泛......但希望它会让你在某个地方。
以上是关于Spring SSO和帐户创建的主要内容,如果未能解决你的问题,请参考以下文章
整合spring cloud云架构 - commonservice-sso服务搭建
Spring Cloud云架构 - commonservice-sso服务搭建