Package Data | |
---|---|
Maintainer Username: | maen-bn |
Maintainer Contact: | b.norcombe@gmail.com (Ben Norcombe) |
Package Create Date: | 2015-04-08 |
Package Last Update: | 2017-07-14 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-22 03:07:02 |
Package Statistics | |
---|---|
Total Downloads: | 8,156 |
Monthly Downloads: | 8 |
Daily Downloads: | 1 |
Total Stars: | 2 |
Total Watchers: | 3 |
Total Forks: | 0 |
Total Open Issues: | 1 |
This is a PHP library for authenticating users via OpenAM
This package has been changed to be framework agnostic. If you're using Laravel 5.1 then continue to use v1.1.* of this package. For later versions of Laravel, a new separate package for Laravel will be created using this package as it's core logic. More information will follow.
The tool requires you have PHP 5.6.*+ and Composer.
You will also need a OpenAM server.
To install the package run the following composer command
composer require maenbn/openamauth
To setup an OpenAm object you will need to initialise a config object and pass that to the OpenAm factory:
// Construct parameters are address of your OpenAm server, realm (optional), deploy URI (optional)
$config = new \Maenbn\OpenAmAuth\Config('https://myopenam.com', 'people', 'openam');
// OpenAm instance
$openAm = \Maenbn\OpenAmAuth\Factories\OpenAmFactory::create($config);
if($openAm->authenticate('username', 'password'){
$tokenId = $openAm->getTokenId();
// Further successful authenication logic ...
}
If an OpenAm instance has ran a successful authenticate
during the current runtime then you can validate
the token id without having to set a token ID on the instance. Other wise use the setTokenId
setter before
validating.
// Returns a bool or throws and exception if not token ID is set
$valid = $openAm->setToken($tokenId)->validateTokenId();
If an OpenAm instance has ran a successful authenticate
during the current runtime then you can get the users
details return from OpenAM without having to set a token ID and the user ID. Other wise use the setTokenId
and setUid
setters before running the setUser
then getUser
.
// Returns a stdClass with the user's details or null if the token ID and user ID have not been set
$user = $openAm->setToken($tokenId)->setUid($uid)->setUser()->getUser();
// If successful authenicate has been ran
if($openAm->authenticate('username', 'password'){
$user = $openAm->getUser();
// Further successful authenication logic ...
}
If an OpenAm instance has ran a successful authenticate
during the current runtime then you can logout without
having to set a token ID. Other wise use the setTokenId
setter before logging out a user.
// Return a bool based of success of log out
$openAm->setTokenId($tokenId)->logout();
When the Config
object is injected into the constructor of OpenAm
it'll modify the cookieName
and
cookieSecure
property on Config
if they're set to null
. This is done by retrieving this information
from the OpenAm server. Obviously you may want to retrieve this data in order to set a cookie on your app correctly.
Therefore you can access the Config
object via the OpenAm
object via the getter:
// Will return Config object
$config = $openAm->getConfig();
$cookieName = $config->getCookieName();
$cookieSecure = $cofig->getCookieSecure();