Exemplo n.º 1
0
// NewFromKiteKey parses the given kite key file and gives a new Config value.
func NewFromKiteKey(file string) (*Config, error) {
	key, err := kitekey.ParseFile(file)
	if err != nil {
		return nil, err
	}

	var c Config
	if err := c.readToken(key); err != nil {
		return nil, err
	}

	return &c, nil
}
Exemplo n.º 2
0
func show() (err error) {
	var tok *jwt.Token

	if *pub != "" {
		key, err := ioutil.ReadFile(*file)
		if err != nil {
			return err
		}

		p, err := ioutil.ReadFile(*pub)
		if err != nil {
			return err
		}

		// try if it's a kite.key, if yes read kontrolKey
		if tok, err := jwt.Parse(string(p), kitekey.GetKontrolKey); err == nil {
			p = []byte(tok.Claims.(*kitekey.KiteClaims).KontrolKey)
		}

		p = bytes.TrimSpace(p)

		pubFn := func(*jwt.Token) (interface{}, error) {
			return p, nil
		}

		tok, err = jwt.Parse(string(key), pubFn)

	} else {
		tok, err = kitekey.ParseFile(*file)
	}
	if err != nil {
		return fmt.Errorf("reading %q failed: %s", *file, err)
	}

	return json.NewEncoder(os.Stdout).Encode(tok.Claims)
}