Open Neophewl opened 1 year ago
Unfortunately I wasn't able to figure out how to get a user's JWT token without spawning an instance of chromium due to the OAuth login flows. It currently uses the iOS client id which requires a browser interaction. Unless I can get official access from DW, I doubt this will ever be fixed.
Would using the Android client ID require a browser login? I am not familiar with how this works, so that might be a stupid question. Regardless, thank you for creating this (it works great in Windows) and for the quick reply
The android client id is the same exact login flow and requires a browser (I'm guessing it's a different client id just for analytics). The only other option that may work here is to use the device code flow that's used in the Apple TV app.
For some background, the way it works is that on the TV app, a QR code is shown that links to a login page so you scan that with your phone, enter an 8 character unique code that's displayed on the TV and complete the login on your phone. After you login, the TV app will check to see if the code is valid and then request a JWT token.
This is what it looks like:
To make this work, I'll need to display this info somewhere. Are you able to easily access the console output on your NAS? I could also create a webpage to expose it too and make sure that there's a message in the console that says you need to login and provide some instructions.
A few others have struggled with permissions issues when it launches chromium, so this could finally solve that issue as well. Let me know what you think of this approach and if you have any other ideas.
I can SSH into my NAS and If I can get the code that way, then this would be great!
I tried running this in docker on a synology NAS and it keeps giving me issues with puppeteer. It looks like its trying to create an instance of chromium. Pretty sure synology doesn't have that. Is there a way to run this in synology? I'd rather not leave my desktop on all the time with this running.