使用Laravel Passport登录到第三方网站上

问题描述 投票:0回答:1

我需要解决以下问题:我使用Laravel创建了两个应用程序。

    可以通过https://test.example.org访问
  • Application A,并提供护照实例和所有用户数据(型号:User)。
  • 应用程序B可以通过https://test.org到达并使用API​​ 应用程序A使用存在于[[应用程序A中的“ API用户”提供的API用户”来获取“公共”数据
现在,我想为

应用程序B

的用户提供一种登录方法。 Application A中存在所有使用Application B的用户。因此,登录Application B的用户正在使用保存在Application A中的凭据。在Application A中对用户所做的所有更改应该在Application B上可见。现在,我不知道该怎么办。任何想法如何解决这个问题?我可以想象使用带有的API调用

$client = $this->client; try { return $client->request('POST', 'https://'.config('server').'/oauth/token', [ 'headers' => [ 'cache-control' => 'no-cache', 'Content-Type' => 'application/x-www-form-urlencoded', ], 'form_params' => [ 'client_id' => ..., 'client_secret' => ..., 'grant_type' => 'password', 'username' => $users-username, 'password' => $users-password, ], ]); } catch (BadResponseException $e) { return $e->getResponse(); } }

但是我不知道,是否需要为

Application A

上的每个用户创建一个client_idclient_secret。如果是这种情况,我需要将这些信息存储在某个地方,以便最终在Application B本身上创建一个User模型。我的问题是:

    如何以最简洁的方式将
  • Application A

上现有的用户登录到Application B
是否可以从客户端(
  • 应用程序B
  • )使用Laravel / Socialite?
    我需要解决以下问题:我使用Laravel创建了两个应用程序。可以通过https://test.example.org到达应用A,并提供护照实例和所有用户数据(型号:...
    laravel laravel-passport laravel-6 laravel-6.2
    1个回答
    0
    投票
    A。您将仅为应用程序B创建一个client_id和client_secretB.使用上面写的护照C.可以,但是您需要手动设置它(我不确定这是一个好主意),更好的方法是将其重定向到Application A UI(如果是Web)或直接联系Application A(如果移动),然后让它自己处理。
    © www.soinside.com 2019 - 2024. All rights reserved.