Popularity
4.3
Stable
Activity
0.0
Stable
113
3
10
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.
-
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. -
go-guardian
Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication. -
branca
:key: Secure alternative to JWT. Authenticated Encrypted API Tokens for Go. -
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
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.
Collect and Analyze Billions of Data Points in Real Time
Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
Promo
www.influxdata.com
Do you think we are missing an alternative of sjwt or a related project?
Popular Comparisons
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.