andrewklau/socialite-openshift
| Install | |
|---|---|
composer require andrewklau/socialite-openshift |
|
| Latest Version: | v2.0.2 |
| PHP: | >=5.5.9 |
| License: | MIT |
| Last Updated: | Apr 6, 2017 |
| Links: | GitHub · Packagist |
OpenShift OAuth2 Provider for Laravel Socialite
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\SocialiteServiceProviderfrom your providers[] array in config\app.php if you have added it already. -
Add
\SocialiteProviders\Manager\ServiceProvider::classto your providers[] array in config\app.php.
Install the event listener
-
Add
SocialiteProviders\Manager\SocialiteWasCalledevent 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