What fixed it for me was that my site was not hosted -- I was testing it out locally this entire time.
I used Github's free hosting and I don't get error 403 anymore. I think authorize() requires a site URL to generate a music user token, and not a local path on your hard drive