Laravel 5.3护照的SSO

时间:2016-12-16 03:41:09

标签: php laravel laravel-5.3

我是Laravel 5.3护照(oauth2服务器)的新手

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

假设有4台服务器(应用程序)。 1.用于身份验证的Laravel Passport(App01,App02,App03,App04) 2. App01 3. App02 4. App03

步骤1虽然步骤4是顺序的,但让我知道所有处理都可以使用Laravel护照

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

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

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

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

  4. 谢谢你的宝贵回复。

1 个答案:

答案 0 :(得分:7)

听起来你应该让你的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上注销,显然没有办法说它发生了。