go-email-normalizer alternatives and similar packages
Based on the "Authentication and OAuth" category.
Alternatively, view go-email-normalizer alternatives based on common mentions on social networks and blogs.
-
keto
Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models. -
paseto
Platform-Agnostic Security Tokens implementation in GO (Golang) -
go-guardian
Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication. -
jeff
🍍Jeff provides the simplest way to manage web sessions in Go. -
branca
:key: Secure alternative to JWT. Authenticated Encrypted API Tokens for Go. -
securecookie
Fast, secure and efficient secure cookie encoder/decoder -
otpgo
Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go. -
cookiestxt
cookiestxt implement parser of cookies txt format -
sessiongate-go
A driver for the SessionGate Redis module - easy session management using the Go language. -
signedvalue
Compatibility layer for tornado's signed values (and secure cookies consequently) -
gosession
This is quick session for net/http in GoLang. This package is perhaps the best implementation of the session mechanism, at least it tries to become one.
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of go-email-normalizer or a related project?
README
go-email-normalizer - email normalization for Go
This is Golang library for providing a canonical representation of email address. It allows
to prevent multiple signups. go-email-normalizer
contains some popular providers but you can easily append others.
Download
go get github.com/dimuska139/go-email-normalizer
Usage
package main
import (
"fmt"
"strings"
normalizer "github.com/dimuska139/go-email-normalizer"
)
type customRule struct {}
func (rule *customRule) ProcessUsername(username string) string {
return strings.Replace(username, "-", "", -1)
}
func (rule *customRule) ProcessDomain(domain string) string {
return domain
}
func main() {
n := normalizer.NewNormalizer()
fmt.Println(n.Normalize("[email protected]")) // [email protected]
fmt.Println(n.Normalize("[email protected]")) // [email protected]
fmt.Println(n.Normalize("[email protected]")) // [email protected]
fmt.Println(n.Normalize("[email protected]")) // [email protected]
n.AddRule("customrules.com", &customRule{})
fmt.Println(n.Normalize(" [email protected]")) // [email protected]
}
Supported providers
- Apple
- Fastmail
- Microsoft
- Protonmail
- Rackspace
- Rambler
- Yahoo
- Yandex
- Zoho
Also you can integrate another rules using AddRule
function (see an example above)
*Note that all licence references and agreements mentioned in the go-email-normalizer README section above
are relevant to that project's source code only.