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. -
oidc
Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation -
go-guardian
Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication. -
sessiongate-go
A driver for the SessionGate Redis module - easy session management using the Go language. -
signedvalue
DISCONTINUED. 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.
WorkOS - The modern identity platform for B2B SaaS
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.