andrewklau / socialite-openshift
Laravel Socialite 的 OpenShift OAuth2 提供程序
v2.0.2
2017-04-06 05:58 UTC
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: ~6.0
- socialiteproviders/manager: 3.*
This package is auto-updated.
Last update: 2024-09-11 12:14:26 UTC
README
文档
此包使用了位于这里的 SocialiteProviders
包。
安装包
composer require andrewklau/socialite-openshift
安装服务提供者
-
如果您已经添加了
Laravel\Socialite\SocialiteServiceProvider
,请从 config\app.php 中的 providers[] 数组中移除。 -
将
\SocialiteProviders\Manager\ServiceProvider::class
添加到 config\app.php 中的 providers[] 数组。
安装事件监听器
-
将
SocialiteProviders\Manager\SocialiteWasCalled
事件添加到<app_name>/Providers/EventServiceProvider
中的 listen[] 数组。 -
为该提供程序添加的监听器是
'Andrewklau\Socialite\OpenShift\OpenShiftkExtendSocialite@handle',
。
例如
/** * The event handler mappings for the application. * * @var array */ protected $listen = [ \SocialiteProviders\Manager\SocialiteWasCalled::class => [ // add your listeners (aka providers) here 'Andrewklau\Socialite\OpenShift\OpenShiftExtendSocialite@handle', ], ];
环境变量
如果您按照以下方式将环境值添加到您的 .env
文件中,则不需要在服务数组中添加条目。
追加到 .env
// other values above
OPENSHIFT_URL=https://api.xyz.com
OPENSHIFT_CA=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
OPENSHIFT_OAUTH_CLIENT_ID=yourkeyfortheservice
OPENSHIFT_OAUTH_CLIENT_SECRET=yoursecretfortheservice
追加到 config/services.php
如果您按照上述方式将值添加到 .env
,则无需添加。以下值作为方便开发者使用 .env 方法之外的另一种方法提供。
'openshift' => [ 'client_id' => env('OPENSHIFT_OAUTH_CLIENT_ID'), 'client_secret' => env('OPENSHIFT_OAUTH_CLIENT_SECRET'), 'url' => env('OPENSHIFT_URL'), 'ca' => env('OPENSHIFT_CA'), 'redirect' => env('APP_URL').'/login/callback', ],
创建 OpenShift oAuth 客户端
oc create -f <(echo ' kind: OAuthClient apiVersion: v1 metadata: name: laravel secret: "..." redirectURIs: - "https:///login/callback" grantMethod: prompt ')
用法
重定向到 OpenShift,并选择您想要访问的范围
return Socialite::with('OpenShift')->scopes()->redirect();
许可证
MIT