otptimize

package module
v0.1.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2023 License: MIT Imports: 11 Imported by: 0

README

OTPtimize

OTPtimize adalah sebuah package Go yang membantu dalam menghasilkan, mengirim, dan memvalidasi OTP (One-Time Password). Package ini dirancang untuk memudahkan penggunaan OTP dalam aplikasi Anda dengan fokus pada pengoptimalan penggunaan sumber daya.

Instalasi

Anda dapat menginstal package OTPtimize dengan perintah:

go get -u github.com/asidikrdn/otptimize

Penggunaan

Berikut adalah contoh penggunaan dari package OTPtimize:

package main

import (
	"fmt"
	"github.com/asidikrdn/otptimize"
	"time"
)

func main() {
	// Inisialisasi koneksi
	mailConfig := otptimize.MailConfig{ /* Isi dengan konfigurasi email */ }
	redisConfig := otptimize.RedisConfig{ /* Isi dengan konfigurasi Redis */ }
	otptimize.ConnectionInit(mailConfig, redisConfig)

	// Generate dan kirim OTP
	err := otptimize.GenerateAndSendOTP(6, "MyApp", "John Doe", "johndoe@example.com")
	if err != nil {
		fmt.Println("Error:", err)
		return
	}

	// Validasi OTP
	valid, err := otptimize.ValidateOTP("johndoe@example.com", "123456")
	if err != nil {
		fmt.Println("Error:", err)
		return
	}

	if valid {
		fmt.Println("OTP Valid!")
	} else {
		fmt.Println("Invalid OTP!")
	}
}

Pastikan untuk mengganti nilai-nilai konfigurasi email dan Redis sesuai dengan kebutuhan Anda.

Dokumentasi

ConnectionInit(mailConfig MailConfig, redisConfig RedisConfig)

Inisialisasi koneksi dengan konfigurasi email dan Redis yang diberikan.

GenerateAndSendOTP(otpLength int, appName string, targetName string, targetEmail string) error

Generate dan kirim OTP ke alamat email yang ditentukan. OTP akan disimpan dalam Redis.

ValidateOTP(email string, otpToken string) (bool, error)

Memvalidasi OTP yang diberikan untuk alamat email tertentu.

Kontribusi

Kontribusi dipersilakan! Anda dapat membantu dengan mengajukan pull request pada repositori ini.

Lisensi

Proyek ini dilisensikan di bawah MIT License.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MailConnection *gomail.Dialer

email connection

View Source
var RedisClient *redis.Client

redis connection

Functions

func ConnectionInit

func ConnectionInit(mailConfig MailConfig, redisConfig RedisConfig)

=============================================== CONNECTION INIT =============================================== //

func GenerateAndSendOTP

func GenerateAndSendOTP(otpLength int, appName string, targetName string, targetEmail string) error

=============================================== GENERATE OTP AND SEND IT BY EMAIL =============================================== //

func ValidateOTP

func ValidateOTP(email string, otpToken string) (bool, error)

validating otp token =============================================== VALIDATE OTP =============================================== //

Types

type MailConfig

type MailConfig struct {
	Host     string
	Port     int
	Email    string
	Password string
}

=============================================== GOMAIL =============================================== //

type RedisConfig

type RedisConfig struct {
	Host     string
	Port     string
	Password string
}

=============================================== REDIS =============================================== //

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL