试图了解Laravel的Passport在数据库中需要5个表的原因,为什么不在.env中

时间:2018-12-17 10:36:31

标签: laravel laravel-passport

我正在构建一个REST API,没有视图,只是为Angular编写的前端路由。 为了进行身份验证,我需要创建令牌,将其发送到有效负载中并进行验证。

我的问题是为什么我需要为此提供5个表,是否有可能将机密存储在ENV上,并且每次都无需调用DB就可以操作?我一直在搜寻有关此问题的答案,但无济于事,希望在这里得到澄清。谢谢。

1 个答案:

答案 0 :(得分:0)

您需要这些表。 oauth_clients表存储您的client_idclient_secret

有不同类型的clients,您可以使用密码客户端(其中{{1}中的password_client设置为1 }。

auth_clients table

}

您可以在登录请求中使用此{ "username": "your-laravel-username", "password": "your-laravel-password", "client_id": id-from-oauth-clients-table, "client_secret": secret-from-oauth-cleints-table, "grant_type": "password", //this is to use password client, search for password_client - 1 in oauth_client table "scope": "conference" client_id来获取client_secret。您可以使用此bearer token来访问所有api。

一旦您准备好bearer token,就可以将其用于进一步的请求,现在需要为每个请求使用登录API。