Last updated:
0 purchases
auth email
Auth Email #
This is an easy way to authenticate user email with OTP using PHP as a backend in your own server.
Server Side #
Download php server from v0.0.4 and modify config.php in src directory with your own configurations. Example:
// This is a simple configs, you can modify more configs in `index.php`.
$HOST = 'example.com';
$USER_NAME = '[email protected]';
$PASSWORD = 'password';
$PORT = 587;
$SEND_FROM = $USER_NAME;
$DEFAULT_SUBJECT = 'Verify Email';
$DEFAULT_BODY = 'Please use this OTP to verify your email for the <b>{appName}</b>, do not share this code to anyone: <b>{otp}</b>';
$DEFAULT_OTP_LENGTH = 6;
// client key: authemailtestkey
$SERVER_SHA256_KEY = '6955c3a2dbfd121697623896b38f5eb759d2cd503476980e14b9beb0cc036c4d';
// Security of your applications.
$ALLOWED_APPS = [
// Name of application. Must be the same as `appName` on client side.
'Auth Email Test' => [
// Allow this app using modified subject or not.
'modifiedSubject' => false,
// Allow this app using modified body or not.
'modifiedBody' => false,
// Allow this app using modified otp length or not.
'modifiedOtpLength' => false,
],
];
copied to clipboard
Upload only files in src directory to your server.
Client Side #
Add auth_email to your project as dependency.
Create a controller for auth_email:
final authEmail = AuthEmail(
// Name of application. Must be available in the `$ALLOWED_APPS` on server.
appName: 'Auth Email Test',
// URL of your server.
server: 'https://example.com/auth/email',
// You client key.
serverKey: 'authemailtestkey',
// Allow print debug log or not.
isDebug: true,
);
copied to clipboard
Send OTP code to your client email:
final bool result = await authEmail.sendOTP(email: '[email protected]');
copied to clipboard
You can also change email subject, body and otpLength by its parameters as you want to, but you have to change the permissions on your php server config to true first.
Verify OTP code:
final bool isVerified = authEmail.verifyOTP(email: '[email protected]', otp: '<code>');
copied to clipboard
Additional #
You can check the email is valid or not before sending OTP code by using:
final bool isValidEmail = AuthEmail.isValidEmail('[email protected]');
copied to clipboard
Test Server #
This project include a test server, you can create your own test app with this test sever by using this configuration:
// This only use for testing purposes.
final authEmail = AuthEmail(
appName: 'Auth Email Example', // <- For testing, only this app name is allowed
server: 'https://pub.lamnhan.dev/auth-email/api',
serverKey: 'ohYwh',
);
copied to clipboard
You can also test this plugin on web.
Please use this config for testing only.
Contributions #
Feel free to file an issue if you find any bugs or something is missing, PR is also welcome.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.