使用Spring Security的Flask用户身份验证

时间:2016-03-29 16:40:34

标签: authentication spring-security flask

我有2个应用程序,每个应用程序都有自己的身份验证系统。

  1. 使用spring security
  2. 的java后端/ js前端
  3. 一个python-flask应用程序,基本上只是一个网站。 Auth通过Flask-Login完成。
  4. 我想在他们两个之间进行单一登录和会话。由于auth对于java应用程序来说更重要,我倾向于让spring处理用户身份...但是我需要Flask才能知道"意识到"用户是否登录,他们是谁,等等。

    有没有一种简单的方法可以实现这一目标?

1 个答案:

答案 0 :(得分:0)

处理此问题的最简单方法是让Flask在Java应用程序中调用端点,传递用户的名称和密码 - 然后让该端点以JSON格式返回有关用户的必要信息。但这并不能让你获得SSO(用户可以登录Flask应用程序,但不能登录Spring应用程序)。

稍微复杂的替代方法是让用户始终登录Spring应用程序,但使用OAuth重定向(Spring有spring-security-oauth而Flask有Flask-OAuth) - 因此,当用户从Flask登录时,他们实际登录到Spring,然后用户将返回重定向到Flask应用程序,其中包含Flask随后用于从该用户检索该用户信息的令牌。弹簧。这会让你获得SSO(如果用户已经登录,你只需告诉Spring使用令牌重定向回指定的Flask端点,Flask使用令牌从Spring管理的端点获取用户的信息,如上文)。