A go (or 'golang' for search engine friendliness) port of npm's @memberstack/admin
.
🐣 This is baby's first go module, so please: PR's welcome! 🙏
go get github.com/f3ndot/go-memberstack-admin
import "github.com/f3ndot/go-memberstack-admin/admin"
Check out cmd/examples for detailed usage
To verify a member's token:
a := admin.NewMemberstackAdmin(admin.Options{
MemberstackAppId: "app_clzb..."
})
token, err := a.VerifyToken("eyJhbGc...jEifQ")
fmt.Println("is valid:", token.Valid, ", error:", err)
fmt.Println("member ID:", admin.GetMemberstackClaims(token).MemberID)
Or via the examples:
go run cmd/examples/verify_token.go -aud app_clzb... eyJhbGc...jEifQ
- Tests 😅
- Feature parity with
@memberstack/admin
- Add own errors for fetching JWKS failure conditions
- Improve JWKS lifecycle (refreshing)
- Maybe: use lestrrat-go/jwx over MicahParks' keyfunc and jwkset