code: func (user *User) SetAfterAuthAction(handlerFunc interface{}, args ...interface{}) error {
  	err := verifyTypeMatching(handlerFunc, args...)
  	if err != nil {
  		log.WithError(err).Error("Can't verify SetUserAfterAuthHandler args")
  		return err
  	}
  
  	bytes, err := encode(args)
  
  	if err != nil {
  		log.WithError(err).Error("Can't encode SetUserAfterAuthHandler args")
  		return err
  	}
  	ps, _ := user.protectedSettings()
  
  	ps.AfterAuthData = bytes
  	ps.AfterAuthHandler = runtime.FuncForPC(reflect.ValueOf(handlerFunc).Pointer()).Name()
  
  	user.saveProtectedSettings()
  
  	return nil
  }
docs: // SetAfterAuthAction sets the handlerFunc and it's args that will be triggered on success user Auth.
  // F.e. you can use it to resume action interrupted because user didn't authed
  // !!! Please note that you must ommit first arg *integram.Context, because it will be automatically prepended on auth success and will contains actual action context