#Auth/OneKey
A phpCAS Laravel wrapper for OneKey, an authentication system for healthcare professionals from IQVIA
This repo can be used to provide SSO authentication with [OneKey] (https://www.iqvia.com/locations/united-states/solutions/life-sciences/information-solutions/essential-information/onekey-reference-assets/onekey-web).
You can install the package via composer:
composer require rs/auth-onekey
But default, the package is set to the debug = false
and live = true
mode. The latter determines the provider url that the client is redirected to (live = true
- 'www.owa-secure.com', live = false
- 'www.rowa-secure.com') If you would like to override it, publish the config file:
php artisan vendor:publish --tag=onekey-config
Once the onekey.php
config file has been published, update your .env
file:
//.env
ONE_KEY_DEBUG=<boolean>
ONE_KEY_LIVE=<boolean>
Register your route
//web.php
Route::get('onekey/callback', [OneKeyLoginController::class, 'handleProviderCallback']);
Then, implement the handleProviderCallback()
method in your controller. For example:
//Http\Controllers\OneKeyLoginController.php
use RedSnapper\OneKey\OneKeyProvider;
//..//
public function handleProviderCallback(OneKeyProvider $provider)
{ // Get OneKey user from the provider
$providerUser = $provider->user();
//Map the one-key user with your User model, save in DB
// or perform any other action
$user = new User([
'id' => $providerUser->getId(),
'name' => $providerUser->getFullName(),
'email' => $providerUser->getEmail(),
'guard' => 'web'
]);
session()->put($user->guard, $user->toArray());
auth($user->guard)->login($user);
return redirect()->intended();
}
###All available methods for getting user data:
$user = $provider->user();
$user->getId(); //?string
$user->getEmail(); //?string
$user->getFirstName(); //?string
$user->getLastName(); //?string
$user->getFullName(); //?string
$user->getCity(); //?string
$user->getProfession(); //?string
$user->getPhone(); //?string
$user->isHCP(); //bool
$user->trustLevel(); //int
$user->getRaw(); //array
vendor/bin/phpunit
or
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see Licence File for more information.