所以我正在开展一个大学项目,我的团队需要创建一个Android应用程序,该应用程序通过spring与后端构建进行对话。到目前为止,我们一直在使用JWT进行用户身份验证/授权,一切都很好,花花公子。但是,我们的客户想要与谷歌和Facebook进行单点登录,当然仍然可以创建一个帐户,就像这个表格一样(但是在Android上,而不是浏览器)。
我上个月花了大量时间研究和谷歌搜索如何做到这一点,特别是它应该如何与Android应用程序集成。我觉得我错过了一个关键点,因为我到处都看到了这一点,所以我认为这并不难。据我所知,我可以有两个端点:login / google,login / facebook获得授权服务器授权。我有,我遵循了这个指南,我理解它的70%。
然后我的想法是让第一次登录的用户保存在我们的数据库中。我不完全确定如何做到这一点(因为我并不完全确定SSO弹簧代码是如何工作的......)。我的主要问题是:
同样,我觉得我在这里错过了一个关键点,而且我只是在努力地困惑自己。如果你们能为我清理一切,我将非常感激!!
PS:我做了大量的研究并阅读了很多指南,其中大部分都是基本的...我不是在找任何人给我写代码,我正在寻找有人解释整个事情应该如何运作。答案 0 :(得分:0)
有几件事
像
这样的东西@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)
}
我希望这对一些人有所帮助,你提出的这些问题非常广泛......但希望它会让你到达某个地方。