mpie / lighthouse-oauth2
Lighthouse的OAuth2实现
v0.4.3
2022-01-14 19:43 UTC
Requires
- php: ^7.3|^8.0
- ext-json: *
- illuminate/auth: ^8
- illuminate/collections: ^8
- illuminate/database: ^8
- illuminate/http: ^8
- laravel/passport: ^10.0
- lcobucci/jwt: *
- nuwave/lighthouse: ^5.0
Requires (Dev)
- laravel/framework: ^8
- mockery/mockery: ^1
- phpunit/phpunit: ^7.5 || ^8.4 || ^9
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'),
从那里您可以根据需要自定义模式。