Oauth 2.0 具有多个客户端应用程序的Central Laravel Passport

Oauth 2.0 具有多个客户端应用程序的Central Laravel Passport,oauth-2.0,laravel-passport,Oauth 2.0,Laravel Passport,对于OAUth和Laravel Passport来说,我是个新手,我有一些根本性的问题,我无法通过自己的研究来解决 我将建立多个laravel消费者网站(consumerap1.test、consumerap2.test、consumerap3.test),所有这些网站都将使用带有laravel passport(passport.test)的中央身份验证服务器构建。消费者应用程序应使用中央身份验证对自己的后端进行身份验证和授权,以及相互之间进行身份验证和授权 我可以在passport.test

对于OAUth和Laravel Passport来说,我是个新手,我有一些根本性的问题,我无法通过自己的研究来解决

我将建立多个laravel消费者网站(consumerap1.test、consumerap2.test、consumerap3.test),所有这些网站都将使用带有laravel passport(passport.test)的中央身份验证服务器构建。消费者应用程序应使用中央身份验证对自己的后端进行身份验证和授权,以及相互之间进行身份验证和授权

我可以在passport.test上安装passport,它可以从consumerap1.test在passport.test上请求访问令牌

所以我得到了这样的回答:

{"token_type":"Bearer","expires_in":31622400,"access_token":"eyJ0eXAiOiJK.....","refresh_token":"def502001b..."}
但是现在呢

  • 我应该把这个代币存放在哪里

  • 我是否必须在每个消费者应用程序上安装laravel passport?(嗯,就我对OAuth2的理解而言,我应该创建一个中央服务器,而不是多个)

  • 如果我想从consumerapp1向consumerapp2发出请求, 我该怎么做?比如:

  • 从consumerap1.test向passport.test发出请求以获取令牌
  • 使用此令牌并在ConsumerRapp2.test上发出请求

非常感谢您为我指明了正确的方向。

如果有人在同一条道路上

我的发现:
1.您从consumerap1.test向consumerap2.test发出请求。
2.consumerapp2.test重定向到passport.test以进行身份验证(*)。
3.如果身份验证正常,passport.test将向consumerapp1.test(*)发送授权代码。
4.consumerapp1.test向passport.test发出请求以获取访问令牌(*)。
5.passport.test向consumerapp1.test(*)发送访问令牌。
6.consumerapp1.test向consumerapp2.test(*)发送带有访问令牌的请求。
7.consumerapp2.test向passport.test发出请求,以检查访问令牌。
8.consumerap2.test响应来自consumerap1.test的请求

正如你所见,这不是那么容易,但很有可能

(*)仅在第一次请求时才需要,因为访问令牌应存储在consumerapp1.test中

但是我发现,OAuth2的基本形式只是用于授权,而不是身份验证。如果您还需要身份验证,请查看OpenID Connect