PHP code example of zarate-systems / laravel-cognito-auth
1. Go to this page and download the library: Download zarate-systems/laravel-cognito-auth library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
zarate-systems / laravel-cognito-auth example snippets
protected $middlewareGroups = [
'web' => [
...
\ZarateSystems\LaravelCognitoAuth\AuthenticateSession::class,
...
],
];
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'aws-cognito',
'provider' => 'users',
],
],
'apps' => [
'default' => [
'client-id' => env('AWS_COGNITO_IDENTITY_APP_CLIENT_ID', ''),
'refresh-token-expiration' => <num-of-days>,
],
],
Auth::attempt([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
]);
Auth::attempt([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], true);
Auth::user();
Auth::logout();
Auth::getCognitoAccessToken();
Auth::getCognitoIdToken();
Auth::getCognitoRefreshToken();
Auth::getCognitoTokensExpiryTime();
Auth::getCognitoRefreshTokenExpiryTime();
Auth::attempt(array $credentials, [bool $remember], [$errorHandler]);
Auth::validate(array $credentials, [$errorHandler]);
Auth::attempt([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], false, AWS_COGNITO_AUTH_THROW_EXCEPTION);
Auth::validate([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], AWS_COGNITO_AUTH_THROW_EXCEPTION);
try {
Auth::attempt([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], false, AWS_COGNITO_AUTH_THROW_EXCEPTION);
} catch (\ZarateSystems\LaravelCognitoAuth\AuthAttemptException $exception) {
$response = $exception->getResponse();
// Handle error...
}
Auth::attempt([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], false, AWS_COGNITO_AUTH_RETURN_ATTEMPT);
Auth::validate([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], AWS_COGNITO_AUTH_RETURN_ATTEMPT);
$attempt = Auth::attempt([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], false, AWS_COGNITO_AUTH_RETURN_ATTEMPT);
if ($attempt->successful()) {
// Do something...
} else {
$response = $attempt->getResponse();
// Handle error...
}
[
'exception' => CognitoIdentityProviderException {...},
]
[
'ChallengeName' => 'NEW_PASSWORD_REQUIRED',
'Session' => '...',
'ChallengeParameters' => [...],
]
Auth::attempt([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], false, function (\ZarateSystems\LaravelCognitoAuth\AuthAttemptException $exception) {
$response = $exception->getResponse();
// Handle error...
});
Auth::validate([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], function (\ZarateSystems\LaravelCognitoAuth\AuthAttemptException $exception) {
$response = $exception->getResponse();
// Handle error...
};
Auth::attempt([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], false, \App\MyCustomErrorHandler::class);
Auth::validate([
'email' => '[email protected] ',
'password' => 'xxxxxxxxxx',
], \App\MyCustomErrorHandler::class);
namespace App;
use ZarateSystems\LaravelCognitoAuth\AuthAttemptException;
class MyCustomErrorHandler
{
public function handle(AuthAttemptException $exception)
{
$response = $exception->getResponse();
// Handle error...
}
}
'errors' => [
'handler' => 'AWS_COGNITO_AUTH_THROW_EXCEPTION',
],
'errors' => [
'handler' => 'AWS_COGNITO_AUTH_RETURN_ATTEMPT',
],
'errors' => [
'handler' => function (\ZarateSystems\LaravelCognitoAuth\AuthAttemptException $exception) {
$exception->getResponse();
// Do something...
},
],
'errors' => [
'handler' => \App\MyCustomErrorHandler::class,
],
[
'exception' => CognitoIdentityProviderException {...},
]
[
'ChallengeName' => 'NEW_PASSWORD_REQUIRED',
'Session' => '...',
'ChallengeParameters' => [...],
]
bash
php artisan vendor:publish --provider="ZarateSystems\LaravelCognitoAuth\LaravelCognitoAuthServiceProvider"
bash
php artisan vendor:publish --provider="Aws\Laravel\AwsServiceProvider"