Hellō Identity Provider (IdP) Client in PHP
| Release | Tests | Coverage |
|---|---|---|
Hellō enables your users to register and log in using their choice of popular social logins, email, or phone—without tracking them. Hellō is a cloud identity wallet with a mission to empower users to control their digital identities.
- Social Login: Support for popular providers like Google, Facebook, etc.
- Email and Phone Authentication: Verified email or phone login.
- User Privacy First: Focused on giving users control without tracking.
- Quick Integration: Set up authentication in minutes.
The easiest and quickest way to onboard and authenticate your users with popular social providers, verified email, and phone. Hellō can be integrated into your application in minutes, not hours.
The following example demonstrates how to integrate the Hellō client into your PHP application.
Install the library using Composer:
composer require unnikrishnanbhargavakurup/hellocoopuseHelloCoop\Config\HelloConfig;
useHelloCoop\HelloClient;
// Step 1: Define all required configurationsdefine('API_ROUTE', '/api/hellocoop'); // Define the API route// App ID from https://console.hello.coop/define('APP_ID', 'app_43tf7X1qHvsCVZIuPQtzQE8J_KQq'); // Add your domain name here (e.g., ngrok domain or deployed domain)define('HOST', 'b46e-223-205-76-153.ngrok-free.app');
// Create a 32-byte hex secret key using the command: openssl rand -hex 32define('SECRET', '1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'); // Step 2: Create an instance of the HelloConfig class$config = newHelloConfig(
API_ROUTE, // $apiRoute: The base API routeAPI_ROUTE . '?op=auth', // $authApiRoute: The route for authenticationAPI_ROUTE . '?op=login', // $loginApiRoute: The route for loginAPI_ROUTE . '?op=logout', // $logoutApiRoute: The route for logoutfalse, // CSRF protection (false to restrict cross-origin requests)APP_ID, // Application ID'https://' . HOST . API_ROUTE, // Full API URLHOST, // HostnameSECRET// Secret key for encryption and decryption of data
);
// Step 3: Create an instance of HelloClient$helloClient = newHelloClient($config);
$requestUri = $_SERVER['REQUEST_URI'];
$parsedUrl = parse_url($requestUri); // Extract the path from the request URI, ignoring query parameters$requestPath = $parsedUrl['path'] ?? '';
// Step 4: Route Hellō API requestsif ($requestPath === API_ROUTE) {
$helloClient->route(); // Handle the routing of the API request
}To maintain code quality, this project uses a pre-commit hook for automatic linting before each commit.
Copy the pre-commit hook to your Git hooks directory:
cp pre-commit .git/hooks/
Make the hook executable (if it’s not already):
chmod +x .git/hooks/pre-commit
This ensures code quality and consistency across the project.
We welcome contributions! Please open an issue or submit a pull request with your changes. Make sure your contributions adhere to the code style guidelines enforced by the pre-commit hook.
This project is licensed under the MIT License. See the LICENSE file for details.