【问题标题】:Flask user auth with Spring Security使用 Spring Security 进行烧瓶用户身份验证
【发布时间】:2016-07-17 08:32:42
【问题描述】:

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

  1. 一个使用spring security的java后端/js前端
  2. 基本上只是一个网站的python-flask 应用程序。身份验证是通过 Flask-Login 完成的。

我想在他们两人之间进行一次登录和会话。由于身份验证对于 java 应用程序来说更为重要,我倾向于让 spring 处理用户身份验证......但是我需要 Flask 来“知道”用户是否登录,他们是谁,等等。

有没有简单的方法可以做到这一点?

【问题讨论】:

  • 它们是在同一个域中,还是在不同域中?
  • 同一域上的不同子域。不同的盒子也是如此。

标签: authentication spring-security flask


【解决方案1】:

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

稍微复杂一点的替代方法是让用户始终登录 Spring 应用程序,但使用 OAuth 重定向(Spring 有 spring-security-oauth,Flask 有 Flask-OAuth) - 所以当用户从 Flask 登录,他们实际上是登录到 Spring,然后用户被重定向返回到 Flask 应用程序,并带有一个令牌,Flask 使用该令牌从 Spring 中检索该用户的信息。这让您获得 SSO(如果用户已经登录,您只需告诉 Spring 使用令牌重定向回指定的 Flask 端点,Flask 使用令牌从 Spring 管理的端点获取用户的信息,如上)。

【讨论】:

    猜你喜欢
    • 2020-04-16
    • 2012-11-27
    • 2017-12-21
    • 2011-08-12
    • 2020-03-13
    • 1970-01-01
    • 2018-08-09
    • 2012-11-10
    相关资源
    最近更新 更多