code: func (s *IdentityService) UpsertSignupToken(token string, tokenData services.SignupToken, ttl time.Duration) error {
  	if ttl < time.Second || ttl > defaults.MaxSignupTokenTTL {
  		ttl = defaults.MaxSignupTokenTTL
  	}
  	tokenData.Expires = time.Now().UTC().Add(ttl)
  	value, err := json.Marshal(tokenData)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	item := backend.Item{
  		Key:     backend.Key(userTokensPrefix, token),
  		Value:   value,
  		Expires: tokenData.Expires,
  	}
  	_, err = s.Put(context.TODO(), item)
  	if err != nil {
  		return trace.Wrap(err)
  	}
  	return nil
  
  }
docs: // UpsertSignupToken upserts signup token - one time token that lets user to create a user account