根据Laravel Passport客户端ID(或user_id),如何从多个“用户”表中对不同的网站用户进行身份验证]]

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

我在Laravel

后端上使用了三个不同的数据库,基本上,一个用于后端本身,第二个用于foo.com Nuxt网站,第三个是bar.com ] Angular网站。这三个数据库中的每个数据库都有一个users表,如下所示:
Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->string('name');
    $table->string('email')->unique();
    $table->timestamp('email_verified_at')->nullable();
    $table->string('password');
    $table->rememberToken();
    $table->timestamps();
});

当前,每个网站都使用Laravel Passport

在后端数据库上进行身份验证。但是现在,我需要两个网站foo.combar.com使用它们自己的数据库users表进行身份验证。

我的Laravel Passport

oauth_clients配置看起来像这样:
+----+---------+------+---------------------------+----------+-----+
| id | user_id | name | secret | redirect         | provider | ... |
+----+---------+------+---------------------------+----------+-----+
|  1 |    null |  Foo | ****** | foo.com/callback |      foo | ... |
|  2 |    null |  Bar | ****** | bar.com/callback |      bar | ... |
+----+---------+------+---------------------------+----------+-----+

[因此,目前,来自foo.com的用户通过foo客户端使用其登录名/密码登录,而来自bar.com的用户通过bar客户端使用其登录名/密码登录,但两者均在后端[ C0]表。

如何强制Laravel

users用户使用foo.users表,为foo.com用户使用bar.users表?另外,如何限制bar.com用户使用foo中间件和foo用户使用bar中间件?

我在Laravel后端上使用了三个不同的数据库,基本上,一个数据库用于后端本身,第二个数据库用于foo.com Nuxt网站,第三个数据库是bar.com Angular网站。每个...

laravel authentication nuxt.js laravel-passport
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.