Documentation
¶
Overview ¶
Package auth menyediakan solusi autentikasi lengkap untuk aplikasi Go.
Package ini mendukung berbagai metode autentikasi termasuk lokal (email/password), OTP (email, SMS, WhatsApp), dan OAuth (Google, GitHub, dll).
Fitur Utama:
- Autentikasi lokal dengan email dan password
- Autentikasi dengan OTP melalui email, SMS, atau WhatsApp
- Autentikasi OAuth (Google, GitHub, dll.)
- Dukungan JWT untuk otorisasi
- Format nomor telepon internasional
- Manajemen reset password
- Middleware untuk perlindungan rute
Inisialisasi:
// Muat konfigurasi dari file
config, err := auth.LoadConfig("config.json")
if err != nil {
panic(err)
}
// Inisialisasi autentikasi
err = auth.Init(config)
if err != nil {
panic(err)
}
Autentikasi Lokal:
// Registrasi pengguna baru
user, err := auth.RegisterLocal("user@example.com", "password123", "John", "Doe", "081234567890", "ID")
// Login
user, err := auth.Login("user@example.com", "password123")
Autentikasi OTP:
// Meminta OTP untuk login
otpCode, err := auth.RequestOTPLogin("user@example.com", "email", "ID")
// Memverifikasi OTP
user, err := auth.VerifyOTPLogin("user@example.com", "email", "123456", "ID")
Autentikasi OAuth:
// Redirect URL untuk autentikasi Google
url := auth.GetGoogleAuthURL("state")
// Proses callback dari Google
user, err := auth.HandleGoogleCallback(code)
Integrasi dengan Web Framework (Echo):
e := echo.New()
// Daftarkan route autentikasi
auth.RegisterRoutes(e.Group("/auth"))
e.Start(":8080")
Untuk dokumentasi lebih lanjut kunjungi repository: https://github.com/kreasimaju/auth
Index ¶
- Variables
- func FiberMiddleware() fiber.Handler
- func FiberRoleMiddleware(roles ...string) fiber.Handler
- func FindUserByEmail(email string) (*models.User, error)
- func FindUserByPhone(phone string) (*models.User, error)
- func GenerateOTP(userID uint, otpType, target, purpose string) (*models.OTPCode, error)
- func GetConfig() config.Config
- func GetVersion() string
- func GinMiddleware() gin.HandlerFunc
- func GinRoleMiddleware(roles ...string) gin.HandlerFunc
- func GoogleLoginURL(state string) string
- func HandleGoogleCallback(code string) (*models.User, error)
- func Init(cfg config.Config) error
- func Login(email, password string) (*models.User, error)
- func LoginLocal(identifier, password string) (*models.User, error)
- func Middleware() echo.MiddlewareFunc
- func RegisterLocal(email, password, firstName, lastName, phone, defaultRegion string) (*models.User, error)
- func RegisterRoutes(e *echo.Echo)
- func RequestOTPLogin(contact, otpType, defaultRegion string) (*models.OTPCode, error)
- func RoleMiddleware(roles ...string) echo.MiddlewareFunc
- func SendOTP(otpCode *models.OTPCode) error
- func VerifyOTP(userID uint, code, otpType, purpose string) (bool, error)
- func VerifyOTPLogin(contact, otpType, code, defaultRegion string) (*models.User, error)
Constants ¶
This section is empty.
Variables ¶
var Version = "dev"
Version adalah versi saat ini dari package auth. Diperbarui saat build menggunakan ldflags.
Functions ¶
func FiberMiddleware ¶
FiberMiddleware mengembalikan handler middleware otentikasi untuk Fiber
func FiberRoleMiddleware ¶
FiberRoleMiddleware mengembalikan handler middleware peran untuk Fiber
func FindUserByEmail ¶
FindUserByEmail mencari pengguna berdasarkan email
func FindUserByPhone ¶
FindUserByPhone mencari pengguna berdasarkan nomor telepon
func GenerateOTP ¶
GenerateOTP membuat kode OTP baru
func GetVersion ¶
func GetVersion() string
GetVersion mengembalikan versi saat ini dari package auth.
func GinMiddleware ¶
func GinMiddleware() gin.HandlerFunc
GinMiddleware mengembalikan handler middleware otentikasi untuk Gin
func GinRoleMiddleware ¶
func GinRoleMiddleware(roles ...string) gin.HandlerFunc
GinRoleMiddleware mengembalikan handler middleware peran untuk Gin
func GoogleLoginURL ¶
GoogleLoginURL mengembalikan URL untuk login Google
func HandleGoogleCallback ¶
HandleGoogleCallback menangani callback dari Google OAuth
func LoginLocal ¶
LoginLocal melakukan autentikasi pengguna dengan email/phone dan password
func Middleware ¶
func Middleware() echo.MiddlewareFunc
Middleware mengembalikan handler middleware otentikasi untuk Echo
func RegisterLocal ¶
func RegisterLocal(email, password, firstName, lastName, phone, defaultRegion string) (*models.User, error)
RegisterLocal mendaftarkan pengguna dengan email dan password
func RegisterRoutes ¶
RegisterRoutes mendaftarkan rute otentikasi untuk Echo
func RequestOTPLogin ¶
RequestOTPLogin meminta OTP untuk login
func RoleMiddleware ¶
func RoleMiddleware(roles ...string) echo.MiddlewareFunc
RoleMiddleware mengembalikan handler middleware peran untuk Echo
Types ¶
This section is empty.