Esempio n. 1
0
// ReadKiteKey parsed the user's kite key and returns a new Config.
func (c *Config) ReadKiteKey() error {
	key, err := kitekey.Parse()
	if err != nil {
		return err
	}

	c.KiteKey = key.Raw

	if username, ok := key.Claims["sub"].(string); ok {
		c.Username = username
	}

	if kontrolUser, ok := key.Claims["iss"].(string); ok {
		c.KontrolUser = kontrolUser
	}

	// jti is used for jwt's but let's also use it for kite ID
	if id, ok := key.Claims["jti"].(string); ok {
		c.Id = id
	}

	if kontrolURL, ok := key.Claims["kontrolURL"].(string); ok {
		c.KontrolURL = kontrolURL
	}

	if kontrolKey, ok := key.Claims["kontrolKey"].(string); ok {
		c.KontrolKey = kontrolKey
	}

	return nil
}
Esempio n. 2
0
// ReadKiteKey parsed the user's kite key and returns a new Config.
func (c *Config) ReadKiteKey() error {
	key, err := kitekey.Parse()
	if err != nil {
		return err
	}

	return c.readToken(key)
}
Esempio n. 3
0
func (c *Showkey) Run(_ []string) int {
	token, err := kitekey.Parse()
	if err != nil {
		c.Ui.Error(err.Error())
		return 1
	}

	for _, v := range tokenKeyOrder {
		c.Ui.Output(fmt.Sprintf("%-15s%+v", v, token.Claims[v]))
	}

	return 0
}