HISE Logo Forum
    • Categories
    • Register
    • Login

    Woocommerce linked licensing system for your plugins

    Scheduled Pinned Locked Moved General Questions
    91 Posts 14 Posters 9.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey @Matt_SF
      last edited by

      @matt_sf I'm getting 403 when clicking btnSend

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      Matt_SFM 1 Reply Last reply Reply Quote 0
      • Matt_SFM
        Matt_SF @d.healey
        last edited by

        @d-healey ... sorry it was a generic snippet, here I put some test credentials :

        HiseSnippet 1361.3ocsWs0aaaCElJIJnxadXEa6cA8jLVpuz10Mjhs45bYMnMIdwIoaO0QKQGyFYRARp35FDf8Sa+j1+fsCE0M65jEXrpWRH44x246bHOG2WvCHRIWfrbNcVLAY841ClwTi2YLlxPGrKx5qrGPDWQD6fihbupcyNMeBp2rXrTRBQVVq+KZAsb1.k982+bObDlEPJ2BgNmSCHulNgpJ2se2WQih1GGRNkNohzOs6AAb1N7HdB.p0saihwAWhufbDVK1Z1HqM2Kjp3hAJrhHQVaziGNavX9TlQ9yoR5vHhdQGz.vPls2mGEpQrdWzNioQg8yCdIBrR+RpXcCU701GRCoE6WRIeY5AtkZTkOrVad3s9bvqSU30tB7VBjrp.oMLP5g1CBDzXU4IZ77Y1GvTDwHLP6UghQVzZtaZuCGjfoZNAeIYeArnPC+m0t8VtOtc6FOuds50.xWpbuBKbiFFcljHX.u69it4F3BhZG9jXNCV36UQFOs9yoce.HS4hv6R6bY7LdWPtvMALHnRESqUy2SQduJULsP5fzHTtEVPnbrPXAhYwJJm8JxLPiNO9IOs.ngD4kJdLr89zHxfYREYh1No0JB+JatqQxxXjxFwA8xrPZfoSfZU78zG1TUfDyEnlRhpGVRN6jW66MVohka2pkjmvBGQYWPDxlA7IdKlE.vUu100q43kjSzamRQa4p2LNm+1NkRpW6lT8orHJi3NJgEnCcWNqmhMfvB0IBAOxOHOKrE3knDRCiSh3AX3VNDXJgt1PPjfXRRim6BeZK6PG45mqhy0tYev+6jElfEhdCUMt+wCN02q0z3G8NIm05cSUOBmnF25pNsT7KILusbi2p.h9R39RhbK2BW5Vw15+bcw+4jxuSETE43guiDnJvYyTKq4PifP3J4QjlwBptf6jLwb210y8aWLFMAYEOdSdX6bSNwt7B4gFx0qgNGmQw52KGBOc4uH2234oVZYIIvNmSDzQy9ORSymCzbuIwoq9gbWJ8DwwguPNPAQ9E9oLxhrwoZtJmJ.MKnsx50WBkoujf0WF7dAj73B5GvZvtsaOBV.WTqp77peeqCZAQBMDdrDJH77tqJh7BAmr+Q+MeLYxnFEaTDO2lbUx7kY76U11jkts78howFYI7JY5i3PsKyuQsqq4T6lZtKdznQK8rLCFA4ikcrtUp3tTzmkLYn9sCS0StfP+k4aZYe6Msp1SMvvOUDjyNfQUGGSX2VmVTFopavkgJPTUZ6suHq8VuDkhyPzPcusB1DkB5pCVfN6fcwJbto.qBdJlHTTcPXsK4JXvCSmSG6rmvgXsHWByRbqN1wN6VM58kt726NqXQ2+nqDeE4.VenNhnLLBUdHeBXYrXVNAT5rGXbV8Lm8Z7PRTpupaWoaWU+cTE+g1sq9hldDM4nlPZR0DX4ozP03RYncGSnWLtxfV+T2Q.0Lf9gJLW6tUgkycBq79q2Fr9yeMCVeictnmBX6EAAPqM0phuz8Tyzkb0Jr6bj4l2qRlRP+WSmO2Y.8CryD7iSbe7zWvbe7vjHrZ9gA0S.mc.bYatIvzSYwjT0rpSH++1Dh2WH9P69TUv3kiw0VBFgKTeJvX1b00s2azHnqcI.2vd+e6SyPznS3IJnC3gXnQHTLXeTxjAvOsHf.dmwHQ5G6rVS+rjYca8ZMCnu5mt3efurC6nWakcXm7CQSvAB9aCLOlomb+Ao6.XJ89L7Txg50tcxeAy1tcy1nIvOh3sAA5v+QP81x04wqfNOYEz4oqfNe2JnyyVAc99UPme3N0Q+62f4Y3SLWGfM5uWZmDKq8XXnxJsJD8uPIY6vM
        
        d.healeyD 1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @Matt_SF
          last edited by

          @matt_sf Mystery solved. Look in your info.txt file, see those quotation marks? They're not part of your token are they :)

          Try

          local text = info.loadAsString().replace('""');

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          Matt_SFM 2 Replies Last reply Reply Quote 4
          • Matt_SFM
            Matt_SF @d.healey
            last edited by

            @d-healey aaaarrh, I sensed they might be the cause of the error, I tried to use .replace but didn't write it correctly.
            Thanks a lot David, as always you're here to save the day 👍

            1 Reply Last reply Reply Quote 1
            • Matt_SFM
              Matt_SF @d.healey
              last edited by Matt_SF

              @d-healey I tried it this morning but no luck, the .replace function didn't work, I still ended up with the quotation marks...
              But I tried different things and ended up writing the whole response object (not just the token) to a file and load it as an object.value and it finally worked.

              HiseSnippet 1368.3ocsWs0aaaCElJIpnxadXEa6cA8jLVpuz10Mjhs45bYMnMod0oYaO0QKQGyFYRARp35FDf8Sa+j1+fsyQWrjcbRKLV8KQj7b467cNjmS5qjALsVpHVNmLKlQr9b6AyDlw6NlxEjC2iX8U1CXpKXpcoQQtWztYmlOjzaVLUqYgDKqM+ETPKmsHo+9metGMhJBXkaQHmJ4ArWvmvMk61u6y4QQGPCYmvmTQ5G08v.oXWYjLA.0l1sIwzfyomwNlhhsgMw5N6GxMR0.C0vzDqs5ICmMXrbpHS9S4Z9vHFtnCY.XnrsOPFEhHF2kr6XdTX+hfWS.qzujJ1LiJ9Z6i3g746WRIeY5AtkZTkOr1XQ3s4BvqSU30tB7VAjrp.osxfz8rGDn3wlxSP77Y1GJLL0HJP6UgRlrjM5dG6ckfDBSyIzyYGnfEy0v+wsaus6CZ2twSpWqdMf70F2KnJ2ngQuVyTBf2c+Q2BCbFyrqbRrT.K78pHiGp+BZ2G.xToJ71ztPFuLuqXm4l.FDTohoQ078Lr2YRECEBCxLgJrvRBUfElHPMK1vkhmylAZz4AO7QyAZHSetQFCae.OhMXl1vlf1IsVQ4WYy8xjrLF4hQRPubKjFXXBDUw2COroYNRxt.0TyL8nZ1qe0K78FaLw5cZ0RKSDgi3hyXJcy.4DukyB.3pW6x50b7RJH5cRonscwMiK3ucRoj50tJUetHhKXtiRDAXn6JE8LhALQHlHTxH+fhrv1fWhRXMxbRjLfB2xg.ynvZCESChoYMdhK7CsrCejqegJNW5l+C91IOLAKD8aby39ubvI9dslFe+2pkhVucp49zDy3VWzokQdNS3ssa71ygnuFtujn21ctKcqXa7OWN+KHHzxHVyXEGKidUtFt63549sKibjPS0xIMqLUwMrWN7sr.SknqPjkb4UEwsyUEL6pqjGlwtdMvjbNGiOXNDd6xeYxuwSRszpxRfcNko3il8AxSKlDPxOKygk+PxKMRijzvmpyC0zPrPHj8wTLHbyzEoGtDqdRpT4TJ98bVprb9YPU7yXT7th2SgbqTweOECkcb6wnJ3d7BZun9er0Isf.kGBOlBELdd2VESQghS9GWuVIq1HSwxJiaRtqWCcU5We3hgrj3MUNrbVtQd8PkBgikPUpvuQsKq4T6pZtKeznQq7rbCFAIjUcL1pUcaJ5KRlLDeaIq3pPPn+yhM0ru4lZU64FjwOUDTJNTvMuLlItoNwjbREa.liJPTSZ6uuHu8WuDiQJH7Pr22b1jjB5pCdPd8g6QMzBSAVE7TLSY3XPXsG6BXvjrNqN14OwCw57bILqwM5XG67K8j2U5x+n6r4K59mc0zKXGJ5C0QLSFiv0GIm.VlplUP.kN6tYNqdtydAcHKJ0W0sqzMrp+Nth+H60EuQiivoG0DRSll.KOkGZFWJCu6XF+rwUFD6m5NBnlA72Wg4Z2sJrbtUXUz+8lf0e8q4v5arKD8D.aOMH.Z8YVW7ktmYFVxUatcWfLuyGUISIn+6oKl6x.8csyE75ItqOcFLWnLLIhZVbXQbB47CfKaKLgFNElPyMypNA8+aSP9wBw6Y2maBFuZLtwJvHbg5SAFym6tt89iFAMsJA3V1G76eZFxl7JYhAF+5HpQwghA6iSlL.9WOBXf2EBVD9Xm0F3yRYqaiqQF.u5mt3ege4G1AWakeXmhCISnAJ4aBxdLCmr+to6.XJ89L7TxQ3Z2NEufYa2tYaxD3ex3MAAX3eenda057f0PmGtF57n0PmuaMz4wqgNe+ZnyObq5f++cv.MxIYWGfM5ueZmDKq8ETnxJsJj7efpnPjI
              

              Edit : I tried just this little bit of code and the .replace function doesn't work as expected...? :

              const text = '"text"';
              
              Console.print(text.replace('""'));
              

              Console prints : "text"

              ulrikU d.healeyD 2 Replies Last reply Reply Quote 0
              • ulrikU
                ulrik @Matt_SF
                last edited by

                @matt_sf

                HiseSnippet 685.3ocsU0taSCCE0tsdhV9bR7.D0e0JMpZgw.oIDi0OfJXaUjwD+axywc0ZN1QNNiUg3cl2.35jrkVnTFQh7ijd+33bx8dt2NwnY73XsAgqe77HNBeOh+bkcV+YTgBMd.B+.xAzXK23k4Z+4Qz3Xd.Biq9VmCb8Znzqu+58oRphwKbgPmnEL9GDgBag2I68dgTNhFvOVDtP1au2XlV0WK0I.epR5hhnrKnmyOj5RqBAg2XXfvpM9VpkGiv01WGL2el9Kpr7OQDKNSxcF8P9vAk4djVF3XryKp+LgLXx0e2wH3TlTTEplUEdL4.Qf3F+EUiGkFvq.wh0CbkkoW0knWu+D8VAkvKPoZYTZShOyHhrEQb74tjwJn4LkBk8EoRVtnJODS5qgLT1NgzK3iLfwMHZsS2ta4A2ZuaiFPoO15Y4WY8dkWS2ylfW.brVx6DYDJaKm2NFdjzAtoKks7ZNi68NsbtWHkQgiWzrc6cmlnXVgV4oUGps7iTsZ23qMp23aM790PSmtxXNVazRI2rxvNkiYc.aoRBOia1x6RpLgeShP4b4dzF2tdDKqHtPhZ0XkvdTDO2d8hLTdW.90mFOfZotlbtOHuHtwJbzAOfeILwj0xqSFviuvpifYleSO.JQcPhjZWVd5lIyC.0ikzDt9tJVXmu3L6+fls6Z0r2VJtIYhvxlsZNVYEbDpT+O3X9j98ICmNkyrEDrFYzmK6X8e40+QchUnN+.p0HtBgIGlD5CK6Xb3sqTbIb3DbEmZIytqy1UA74pfTie.W4A64rw4A6ccPDLFZzmxxlBb6RtSpGfSpz0n0g84fsWOT5jAfizsSWTHrV6TFy84+DP.uZLOsDXdVIvrcIv77RfYmRf4Ek.yKWKF2+n7lDqNLab.bLYX5JBLdnhBJqTUH5mbvmDj.
                

                Hise Develop branch
                MacOs 15.3.1, Xcode 16.2
                http://musikboden.se

                1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @Matt_SF
                  last edited by

                  @matt_sf Console always shows quotation marks for strings. I tested the code before I suggested it to you with your snippet and it worked for me.

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  Matt_SFM 2 Replies Last reply Reply Quote 0
                  • Matt_SFM
                    Matt_SF @d.healey
                    last edited by Matt_SF

                    @d-healey @ustk oh that's odd.

                    @matt_sf said in Woocommerce linked licensing system for your plugins:

                    const text = '"text"';

                    Console.print(text.replace('""'));

                    Ok in this example I put the "string" inside the simple quotes ' so that was my mistake.

                    But If I use a txtFile.txt containing "Some text" (with the double quotes like I get when writing the response.tokeninto a file) and use this code:

                    const desktop = FileSystem.getFolder(FileSystem.Desktop);
                    const textFile = desktop.getChildFile("txtFile.txt");
                    
                    const test = "test";
                    
                    Console.print(test.replace('""'));
                    Console.print(textFile.loadAsString().replace('""'));
                    

                    It doesn't work. The console output correctly testbut outputs "Some text"...

                    HiseSnippet 741.3ocsU01aSCCD1tsdhVXHlD+.h5WVpznpEFCjlPrs9BpB1VEYLw2l7bbWslicThyXUH9yvuP9G.mSxVRGkxnRjOzz64tG6Ge9tKiizLdbrNBgqexrPNB+Hh2LkYZuoTgBMpOB+XxgzXCOxIC5fYgz3XtOBiq9NK.tdMT5yOd6ATIUw3EPHzoZAi+AQfvTfNdu2KjxgTe9IhfRQu8diXZUOsTm.5oJoCJjxtjdA+HpMrJDDdsA9BiNxyPM7XDt1AZ+YdS0eQkE+ohXw4Rt0nKxCVnL3gZouUwVTTuoBo+3aN2wHXUFWjEplkEdJ4Pgu3V7hrwSRc3Tvnb9.WYd4UcN408OIuEHIbIIUKSRaP7XQhPSgGqddHYjBtblPgzdYojEKpx2wjdZHBkoc.8R9vHv3VFt6zoyVNvOs1sQCH0Gab74wWZzgNuwYnPx8lA27AsufaRSgQtk.6mEYqcWOmpgesw5G3luJVhomMKraSSl+1v6lE6HjoL.kl12MATPtwZHpvHgx3ZQaGwCkV4tYyla1BXd2PxWWol5uermAPuvs0cYMIQwLBsxQqNRa3Gqba03qMp23aMbtqqISVnOahLRKkPdXQtsEyQKinqJI3bdzVNWQkI7aCDtgmurYs6WYCK6dsTfZ0HkvbbHO2d408n7BC3eeZTepgZq6xwf3B4QFgUN397qfl3rpv5j76cnM92JQglCsehjZluiwNlH2AjOlqL0VJphElYkGi7OzF0YosQ2WItAYrvvltXMVYAZDxT+OzX9vm0IClLgyLEBrFY3mW0IM+ks+i5DCzubHEZatFgIGkD3AyeYbX2UJtDVbBthsZIyti01lA73J+TieBO4N6Zsw4N6diST.kEoOik0EXGu8fTDPSpzI60gOw.1NcQocF.ORm1cPAvj1yXL6w+YPA7h477UfyKVANauBbd4JvYmUfyqVANudobreja+DiNHqc..FOHcDAFOPQgJqzpPzuvoOTjw
                    

                    The other answer would be that I'm totally losing It (which wouldn't be impossible) :face_with_tears_of_joy:

                    1 Reply Last reply Reply Quote 0
                    • Matt_SFM
                      Matt_SF @d.healey
                      last edited by

                      @d-healey said in Woocommerce linked licensing system for your plugins:

                      I tested the code before I suggested it to you with your snippet and it worked for me.

                      I thought so, that's why I was surprised it didn't work here....

                      orangeO 1 Reply Last reply Reply Quote 0
                      • orangeO
                        orange @Matt_SF
                        last edited by

                        @matt_sf

                        Try below snippet. By the way, why are you using replace? For removing spaces? If yes, you should use it like this: textFile.loadAsString().replace(" ", "")

                        HiseSnippet 738.3ocsU0taSCCE0tqAQKTDShGfn7qToQUJLFHgPrs9ApB1VEYLw+l7bbWslicThyXUHdt30h2.353rkrQ2zTkVpTS84dOtmb84dyzTEkkkoRQ3VGtHggvO0IbgTOevbBWhlLDgelydjLMK00Bs6hDRVFKBgwq8IC.tUSTw0e93tDAQRYUPHzQJNk8EdLWWgNc6OyEhwjH1g73ZYu41SnJ4.kPkC5YMm.TBgdF4T19DSZMbP3GMJhqUogZhlkgvM2UEsHbt5GRa9Gwy3mHXlE8QgvFYgGqDQFEaPQClyEQSu74NCA6xzppvZ1pvKb1iGwuBupZ77h.tULpWOvMtK40ut7Bt+xCWSdMsxacmPZJOQWEwnsm3LQBGTyHvQPcYYyE032XmNsGnfbj5dwjyXiSgEWwweqffMbgu599Ns6zFNJxztQrryzpD2O3NlKXgK.mPbuSY5BMm5WCbnMSCYKUM6BsINvsbWLDKd9Lv9dZa7dvcu5+mPsSCj7L28JvAQmofLSR4RsuAuWJKQXDsm2FtddcM7uYVkauPQh1IKTCnm52cYDselkKoZtR5pj6qzrCj9ca+y1sZ+q1t2LzrYKMlo1lpDBnvrrvF2d5cQzWlGeBKcC2yIhb1UIBG6W2W4b69p51dp8ntVhJ4DIWePBSdatMTo+.902lLjnIFCXIFjWBKUyMR.OjcNzYasisbJO7gd6+yqBcLpnbAQe81Hyrix.PM3Z9UiiTlw0KpOa4Ao259J20clx0z4KWuMVhdgp1CsdKmT0wYzrYLptRrMcF+8G9wRnupx0PG0dDnw5BvStedbHL3lx.kHkLgwmhaXbT10Al0lJSHSFUr3uvUYv9l03xf8uLHJlPSUGSscGlYgOt.Azjr3UBsf2MAqc6iJ5X.dNA8BPwvH5ioTSo3kf1WNmWsBbd8JvYyUfyaVANasBbd6Jv4c2IGyaG2IWqhssI.vzQEiQv3QRB3xJbjn+Q023zw
                        

                        develop Branch / XCode 13.1
                        macOS Monterey / M1 Max

                        d.healeyD 1 Reply Last reply Reply Quote 0
                        • d.healeyD
                          d.healey @orange
                          last edited by

                          @orange said in Woocommerce linked licensing system for your plugins:

                          For removing spaces?

                          No, we're removing quotation marks ""

                          Libre Wave - Freedom respecting instruments and effects
                          My Patreon - HISE tutorials
                          YouTube Channel - Public HISE tutorials

                          orangeO 1 Reply Last reply Reply Quote 1
                          • orangeO
                            orange @d.healey
                            last edited by orange

                            @d-healey said in Woocommerce linked licensing system for your plugins:

                            No, we're removing quotation marks ""

                            Why? I think there is no need to do that?

                            develop Branch / XCode 13.1
                            macOS Monterey / M1 Max

                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @orange
                              last edited by

                              @orange When the token is written to the text file it adds quotation marks. These need to be removed before being added to the header.

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              orangeO 1 Reply Last reply Reply Quote 0
                              • orangeO
                                orange @d.healey
                                last edited by orange

                                @d-healey Then substring can work here. This will extract the string between first and last chars.

                                exampleString.substring(1, exampleString.length-1);
                                

                                develop Branch / XCode 13.1
                                macOS Monterey / M1 Max

                                1 Reply Last reply Reply Quote 2
                                • Matt_SFM
                                  Matt_SF
                                  last edited by Matt_SF

                                  @d-healey @orange so, .substring works but .replace doesn't...

                                  29a554b7-59f9-4b77-a6dc-f81b80795ee0-image.png
                                  (no matter if I write .replace("", "") or .replace('""', "") the result is the same).

                                  By using this, I mananged to get it to work :

                                  const info = desktop.getChildFile("info.txt");
                                  
                                  // Function getTheToken
                                  info.writeObject(response);
                                  
                                  // Function verifyTheToken
                                  local text = info.loadAsObject();
                                  local token = text.token;
                                  
                                  Server.setHttpHeader("Authorization: Bearer " + token);
                                  

                                  Is there a preferred method between .loadAsObject() and .loadAsString for these kind of things or is there no difference ?

                                  d.healeyD orangeO 2 Replies Last reply Reply Quote 0
                                  • d.healeyD
                                    d.healey @Matt_SF
                                    last edited by

                                    @matt_sf I use an encrypted object.

                                    Libre Wave - Freedom respecting instruments and effects
                                    My Patreon - HISE tutorials
                                    YouTube Channel - Public HISE tutorials

                                    1 Reply Last reply Reply Quote 1
                                    • orangeO
                                      orange @Matt_SF
                                      last edited by orange

                                      @matt_sf said in Woocommerce linked licensing system for your plugins:

                                      Is there a preferred method between .loadAsObject() and .loadAsString for these kind of things or is there no difference ?

                                      I think objects would be better choice. Writing and Rreading encrypted objects is more secure way for that purpose. You can encrypt the file with a combination of complex pin and machine ID. Also you can change the encrypted file extension from .json to .dat or whatever you like.

                                      develop Branch / XCode 13.1
                                      macOS Monterey / M1 Max

                                      Matt_SFM 1 Reply Last reply Reply Quote 1
                                      • Matt_SFM
                                        Matt_SF @orange
                                        last edited by

                                        Noted ! Thank you @d-healey, @orange and @ustk for your help, I really appreciate :folded_hands:
                                        I'll probably be back soon with another issue :)

                                        1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User
                                          last edited by

                                          @orange I am trying to make a similar thing like you did for license activation but as I see it's very very complicated to make the same licensing application in HISE. Much more harder than I think!

                                          As I also see you do analog modeling plugins too. It's very interesting that you do very very hard to implemet stuff directly in HISE :D For me, unbelievable and extraordinary, congrats dude!

                                          1 Reply Last reply Reply Quote 0
                                          • Matt_SFM
                                            Matt_SF
                                            last edited by

                                            This post is deleted!
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            17

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.4k

                                            Posts