Popularity
3.9
Growing
Activity
0.0
Stable
86
1
5
Programming language: Go
License: MIT License
Tags:
Authentication & OAuth
Latest version: v0.5.1
sjwt alternatives and similar packages
Based on the "Authentication and OAuth" category.
Alternatively, view sjwt alternatives based on common mentions on social networks and blogs.
-
go-guardian
Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token and Certificate based authentication. -
jeff
Simple, flexible, secure and idiomatic web session management with pluggable backends. -
sessionup
Simple, yet effective HTTP session management and identification package. -
otpgo
Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go. -
go-email-normalizer
Golang library for providing a canonical representation of email address. -
sessiongate-go
Go session management using the SessionGate Redis module. -
signedvalue
Signed and timestamped strings compatible with Tornado's create_signed_value, decode_signed_value, and therefore set_secure_cookie and get_secure_cookie.
Scout APM - Leading-edge performance monitoring starting at $39/month
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Sponsored
scoutapm.com
Do you think we are missing an alternative of sjwt or a related project?
README
sjwt

Simple JSON Web Token - Uses HMAC SHA-256
Example
// Set Claims
claims := New()
claims.Set("username", "billymister")
claims.Set("account_id", 8675309)
// Generate jwt
secretKey := []byte("secret_key_here")
jwt := claims.Generate(secretKey)
Example parse
// Parse jwt
jwt := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
claims, _ := Parse(jwt)
// Get claims
name, err := claims.GetStr("name") // John Doe
Example verify and validate
jwt := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
secretKey := []byte("secret_key_here")
// Verify that the secret signature is valid
hasVerified := Verify(jwt, secretKey)
// Parse jwt
claims, _ := Parse(jwt)
// Validate will check(if set) Expiration At and Not Before At dates
err := claims.Validate()
Example usage of registered claims
// Set Claims
claims := New()
claims.SetTokenID() // UUID generated
claims.SetSubject("Subject Title") // Subject of the token
claims.SetIssuer("Google") // Issuer of the token
claims.SetAudience([]string{"Google", "Facebook"}) // Audience the toke is for
claims.SetIssuedAt(time.Now()) // IssuedAt in time, value is set in unix
claims.SetNotBeforeAt(time.Now().Add(time.Hour * 1)) // Token valid in 1 hour
claims.SetExpiresAt(time.Now().Add(time.Hour * 24)) // Token expires in 24 hours
// Generate jwt
secretKey := []byte("secret_key_here")
jwt := claims.Generate(secretKey)
Example usage of struct to claims
type Info struct {
Name string `json:"name"`
}
// Marshal your struct into claims
info := Info{Name: "Billy Mister"}
claims, _ := ToClaims(info)
// Generate jwt
secretKey := []byte("secret_key_here")
jwt := claims.Generate(secretKey)
Why?
For all the times I have needed the use of a jwt, its always been a simple HMAC SHA-256 and thats normally the use of most jwt tokens.
*Note that all licence references and agreements mentioned in the sjwt README section above
are relevant to that project's source code only.