mpie/lighthouse-oauth2

Lighthouse的OAuth2实现

v0.4.3 2022-01-14 19:43 UTC

This package is auto-updated.

Last update: 2024-09-17 03:51:13 UTC


README

通过Passport为Laravel Lighthouse实现的OAuth2实现

安装

要安装,请运行

composer require mpie/lighthouse-oauth2

服务提供器将被自动附加。

将以下环境变量添加到您的 .env 文件中,从 oauth_clients 和密码授权客户端。

LIGHTHOUSE_OAUTH2_CLIENT_ID=
LIGHTHOUSE_OAUTH2_CLIENT_SECRET=

安装完成!

调整配置

如果您需要指向不同的URL,例如运行在同一应用程序中的子域,请添加(不带最后一个斜杠)

LIGHTHOUSE_OAUTH2_DOMAIN="https://sub.domain.com"

将授权类型更改为'密码',而不是默认的'授权码'

LIGHTHOUSE_OAUTH2_GRANT_TYPE="password"

更改默认作用域为'*'

LIGHTHOUSE_OAUTH2_SCOPE="email,something,another"

独特功能。您可以将默认守卫'api'更改为用于用户查找,而不是锁定供应商

LIGHTHOUSE_OAUTH2_GUARD="super-private-guard"

当调用登录突变时返回用户模型。这可以通过以下方式禁用

LIGHTHOUSE_OAUTH2_FETCH_USER=false # Make sure you uncomment 'user: User' model in the graphql file

用户列匹配(当'fetch_user'为true时应用)。默认为'email'

LIGHTHOUSE_OAUTH2_USER_COLUMN=id

自定义模式

php artisan vendor:publish --provider="Mpie\LighthouseOAuth\LighthouseOAuthServiceProvider"

这将发布模式。没有迁移文件。

然后更新 lighthouse-oauth2.php 配置文件,将模式文件指向加载导出文件而不是包提供的文件。

/*
|--------------------------------------------------------------------------
| GraphQL schema
|--------------------------------------------------------------------------
|
| File path of the GraphQL schema to be used, defaults to null so it uses
| the default location
|
*/
'schema' => base_path('graphql/oauth2.graphql'),

从那里您可以根据需要自定义模式。