code: func (s *AuthServer) initializeTOTP(accountName string) (key string, qr []byte, err error) {
  	// create totp key
  	otpKey, err := totp.Generate(totp.GenerateOpts{
  		Issuer:      "Teleport",
  		AccountName: accountName,
  	})
  	if err != nil {
  		return "", nil, trace.Wrap(err)
  	}
  
  	// create QR code
  	var otpQRBuf bytes.Buffer
  	otpImage, err := otpKey.Image(456, 456)
  	if err != nil {
  		return "", nil, trace.Wrap(err)
  	}
  	png.Encode(&otpQRBuf, otpImage)
  
  	return otpKey.Secret(), otpQRBuf.Bytes(), nil
  }
docs: // initializeTOTP creates TOTP algorithm and returns the key and QR code.