andrewklau / socialite-openshift
OpenShift OAuth2 Provider for Laravel Socialite
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: ~6.0
- socialiteproviders/manager: 3.*
This package is auto-updated.
Last update: 2024-11-11 12:34:54 UTC
README
Documentation
This package makes use of the SocialiteProviders
package located here.
Install the package
composer require andrewklau/socialite-openshift
Install the Service Provider
-
Remove
Laravel\Socialite\SocialiteServiceProvider
from your providers[] array in config\app.php if you have added it already. -
Add
\SocialiteProviders\Manager\ServiceProvider::class
to your providers[] array in config\app.php.
Install the event listener
-
Add
SocialiteProviders\Manager\SocialiteWasCalled
event to your listen[] array in<app_name>/Providers/EventServiceProvider
. -
The listener that you add for this provider is
'Andrewklau\Socialite\OpenShift\OpenShiftkExtendSocialite@handle',
.
For example:
/** * 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', ], ];
Environment variables
If you add environment values to your .env
as exactly shown below, you do not need to add an entry to the services array.
Append to .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
Append to config/services.php
You do not need to add this if you add the values to the .env
exactly as shown above. The values below are provided as a convenience in the case that a developer is not able to use the .env method
'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', ],
Create OpenShift oAuth Client
oc create -f <(echo ' kind: OAuthClient apiVersion: v1 metadata: name: laravel secret: "..." redirectURIs: - "https://localhost/login/callback" grantMethod: prompt ')
Usage
Redirect to OpenShift with the scopes you want to access:
return Socialite::with('OpenShift')->scopes()->redirect();
License
MIT