gpt4 book ai didi

laravel - 使用 Laravel Passport 的 SSO

转载 作者:行者123 更新时间:2023-12-04 04:37:10 25 4
gpt4 key购买 nike

我正在考虑使用 Passport 在 Laravel 5 中开发一个成熟的身份系统。

以下是我的要求:

  • 我应该有像 identity.mysite.com 这样的主要身份管理应用程序,我的所有用户都存储在其中。
  • 我有 2 个其他应用程序 APP1、APP2。
  • 当用户在 APP1 上请求受限资源时,他应该通过 identity.mysite.com
  • 进行身份验证
  • 认证通过后,让用户访问APP1上的资源
  • 同时,如果用户决定访问 APP2 上的受限资源,则不应要求他再次输入凭据。

  • 我试过的东西:
  • simpleSAMLphp - SAML 是为我做这些事情的一个选项。但不如OneLogin成熟除非有必要,否则我不考虑在现阶段采用 SaaS 模式。
  • Laravel Passport - oAuth 2.0似乎很诱人。我什至可以使用,Passport Grant Tokens但我不确定它在 SAML 上的可靠性如何。此外,Laravel Passport 被广泛用于验证 API。在验证基于 session 的传统应用程序时,它会有用吗?我还没有看到任何使用多个应用程序和 Laravel 护照实现正确 SSO 的示例。

  • I know OAuth 2.0 is not an authentication protocol. Rather it uses something called Authorization but we probably can make it work to support Authentication protocol as mentioned here. Is it something, that Laravel passport supports?

    最佳答案

    这就是我所说的面向资源的方法,其中所有客户端(app1、app2...)都想知道请求天气的用户是否有权访问资源...

    在这里,我们需要将所有身份验证逻辑转移到 oauth,并使我们所有的请求应用程序都依赖于 OAuth。这样,如果用户请求应用程序访问资源,则:

  • 存在 token ,然后应用程序将请求 oauth 服务器验证给定的 token ,如果发现为真,则应用程序将提供对用户的访问权限。
  • 如果 token 不存在,那么您可以通过请求凭据来解决它,应用程序会将用户数据传输到 oAuth 服务器并验证它是否使用 token 响应。

  • 根据我用来实现这种方法的经验,我认为 Laravel Passport 是您身份验证系统之上的抽象层。您可以根据需要对其进行模制。几乎没有更多的增强和改进可以完成,但这将作为 SSO 之上的基本层。

    关于laravel - 使用 Laravel Passport 的 SSO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42609008/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com