Laravel 带拉威尔护照的SSO
我在考虑用护照在拉雷维尔5号开发一个完整的身份系统 以下是我的要求:Laravel 带拉威尔护照的SSO,laravel,laravel-5,oauth-2.0,saml-2.0,simplesamlphp,Laravel,Laravel 5,Oauth 2.0,Saml 2.0,Simplesamlphp,我在考虑用护照在拉雷维尔5号开发一个完整的身份系统 以下是我的要求: 我应该有一个像identity.mysite.com这样的主身份管理应用程序,其中存储了我的所有用户 我还有两个应用程序APP1,APP2 当用户请求APP1上的受限资源时,他应该通过identity.mysite.com进行身份验证 一旦通过身份验证,就允许用户访问APP1上的资源 同时,若用户决定访问APP2上的受限资源,则不应要求他再次放置凭据 我尝试过的事情: -SAML是一个为我做这些事情的选项。但它还没有成熟,我不
这就是我所说的面向资源的方法,所有客户端(app1、app2…)都想知道请求用户是否有权访问资源 在这里,我们需要将所有身份验证逻辑转移到oauth,并使所有请求的应用程序依赖于oauth。这样,如果用户请求应用程序访问资源,那么如果:
根据我的经验,我使用这种方法,我认为Laravel Passport是身份验证系统之上的抽象层。你可以按你需要的方式来塑造它。可以做的增强和改进很少,但这将作为SSO之上的一个基本层。您可以使用passport实现这一点,但是您对示例的理解是正确的,因为在某些步骤上没有太多或太少 您可以在App1和App2端创建一个新的中间件,该中间件与identity.mysite.com通信并获取用户数据(令牌、作用域等、id),然后它将验证令牌是否有效 在passport服务器端,您需要一个端点来返回令牌是否有效以及任何其他信息
为了避免向您的passport服务器发出过多请求,我建议创建一个服务,获取访问令牌的TTL,并将其设置为用户数据在App1或App2上的缓存时间。您是否成功,如果成功,请在此处发布。