【问题标题】:SSO for Laravel 5.3 PassportLaravel 5.3 Passport 的 SSO
【发布时间】:2016-12-16 03:41:08
【问题描述】:

我对 Laravel 5.3 护照(oauth2 服务器)非常陌生

如果有这种工作,请告诉我。

假设有 4 个服务器(应用程序)。 1. Laravel Passport 进行身份验证(App01、App02、App03、App04) 2. App01 3. App02 4. App03

第 1 步到第 4 步是连续的,让我知道所有处理都可以使用 Laravel 护照进行

1.用户 John Doe 访问并登录 App01。 Laravel 5.3 护照为他创建身份验证令牌。

  1. 用户 John Doe 访问 App02 并自动登录 (SSO)

  2. 用户 John 访问 App03 并需要 id 和密码,他手动输入 id,App02 和 App03 的密码相同,并成功登录。

  3. 当用户注销时,所有应用程序(App02、App03)都被注销。

感谢您宝贵的回复。

【问题讨论】:

    标签: php laravel laravel-5.3


    【解决方案1】:

    听起来您应该让您的 App01 成为身份提供者(OAuth 服务器),而 App02、App03 和 App04 将重定向到 App01 以获取短期令牌。所以这三个应用程序必须具有 OAuth 客户端功能 - 能够

    您正在查看 OAuth2 授权码流程:https://www.digitalocean.com/community/tutorials/an-introduction-to-oauth-2

    如果您可以在没有要求 4 的情况下生活 - 同时在所有地方注销,您可以只依赖 JWT 令牌的嵌入数据。

    您的 App01 (Laravel Passport) 发布的每个 JWT 令牌都已包含用户 ID 和令牌过期等信息。此外,如果您在 App02、App03 和 App04 上添加 App01 的公钥,它们可以 100% 确定令牌有效 - 无需向 App01 请求。但如果用户稍后在 App01 上注销,显然无法说它发生了。

    【讨论】:

      猜你喜欢
      • 2017-07-25
      • 2017-05-13
      • 2017-02-28
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 2017-04-11
      • 2017-02-28
      • 2017-01-11
      相关资源
      最近更新 更多