-
Notifications
You must be signed in to change notification settings - Fork 354
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TIDAL deprecates username/password login for oAuth #545
Comments
@MaxKellermann any opinion on this? |
I don't know oAuth. Why is oAuth not possible in MPD? |
because oAuth requires the user to get forwarded to a Tidal login page.
…On Tue, 4 Jun 2019, 17:45 Max Kellermann, ***@***.***> wrote:
I don't know oAuth. Why is oAuth not possible in MPD?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#545?email_source=notifications&email_token=AAHYWWO6X5JSG4ZOB3JS343PY2E2HA5CNFSM4HLJRE62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW476OA#issuecomment-498728760>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHYWWIBMYPM63WVG4HC2SDPY2E2HANCNFSM4HLJRE6Q>
.
|
Hm, that sucks. Are there other Tidal players which don't have a built-in web browser? |
Hallo Max, show upmpdcli there is a upmpdcli-tidal plugin. it works |
another from Artur |
They (Tidal) stated that in the future only the OAuth token based API calls will work. The solutions posted by @marcbth are still using username/password login. The old API tokens issued earlier are still working. |
Apart from being illegal (because it links a proprietary library from Spotify), upmpdcli uses the old username/password protocol, just like MPD. |
my issues #572 so my problems come from that? ompd of arthur uses an old script. registration works and tidal is searchable. or has changed in tidal now what or mpd? sorry for my stupid questions cliff |
they don't issue tokens anymore. just oAuth secrets, so you cannot call the
login API either.
…On Tue, 4 Jun 2019, 18:43 marcbth, ***@***.***> wrote:
my issues #572 <#572>
so my problems come from that?
ompd of arthur uses an old script. registration works and tidal is
searchable.
I have inserted the x-token-tidal and the registration schent yes to work.
or has changed in tidal now what or mpd?
sorry for my stupid questions
cliff
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#545?email_source=notifications&email_token=AAHYWWNI466IBBNTESVEMYDPY2LSXA5CNFSM4HLJRE62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW5FM3A#issuecomment-498751084>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHYWWM7Y6NC7HHJIJGT56LPY2LSXANCNFSM4HLJRE6Q>
.
|
then I do not understand that I still can log in upmpdcli or ompd me and play tidal. is there an alternative to use tidal natively in mpd then again? I want to get away from the whole upnp cliff |
And I can still play Tidal natively with MPD. |
you have a legacy token which works
…On Tue, 4 Jun 2019, 18:51 marcbth, ***@***.***> wrote:
then I do not understand that I still can log in upmpdcli or ompd me and
play tidal.
is there an alternative to use tidal natively in mpd then again?
I want to get away from the whole upnp
cliff
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#545?email_source=notifications&email_token=AAHYWWN2JC5XFVNTOUMDR6TPY2MQTA5CNFSM4HLJRE62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW5GDLY#issuecomment-498753967>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHYWWLLDYXAEEBWHBKHLNLPY2MQTANCNFSM4HLJRE6Q>
.
|
yes i have. i have a tidal account. can i write a private email to you in german? |
or a call? |
so, you can steal a token (as MPD docu suggests), but this is illegal. So we contacted Tidal for a token, and they rejected, login/session API is deprecated, we could use oAuth only. I cannot describe it better, sorry. |
do not want to do anything illegal. if you have tidal as a contact person? I also like to try it. because I actually have good relationships in the German hifi high end scene or manufacturers. it is tidal also helped, concerning the further spread. I can contribute the api or documentation for highresaudio streaming including, of course, an access. |
Try Pål Bråtelund / [email protected]
…On Tue, Jun 4, 2019 at 1:26 PM marcbth ***@***.***> wrote:
do not want to do anything illegal.
it would be a shame if tidal were not possible anymore.
if you have tidal as a contact person?
I also like to try it. because I actually have good relationships in the
German hifi high end scene or manufacturers.
it is tidal also helped, concerning the further spread.
I can contribute the api or documentation for highresaudio streaming
including, of course, an access.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#545?email_source=notifications&email_token=AAH3E4QWZZYXSQE7HHXBXRDPY2QUBA5CNFSM4HLJRE62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW5JEMA#issuecomment-498766384>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAH3E4ROBJZT7MOMBLV6COTPY2QUBANCNFSM4HLJRE6Q>
.
|
Thank you. I will contact him |
let us know what you found out from him
…On Tue, 4 Jun 2019, 19:38 marcbth, ***@***.***> wrote:
Thank you. I will contact him
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#545?email_source=notifications&email_token=AAHYWWNNKR6WG7QQMXFWUYDPY2R7TA5CNFSM4HLJRE62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW5KFDA#issuecomment-498770572>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHYWWNZQQCJF7WXFZG4OWTPY2R7TANCNFSM4HLJRE6Q>
.
|
I contacted Tidal to ask for access to the API for use in Strawberry, but simply got: "Unfortunately we do not share our API." |
@jonaski you need to get a developer account, then you get access to all needed documentation (including API, and OAuth stuff). We have already got such an account so definitely there is an official way to use their API. My original message/issue still valid: username/password login (aka session based access) is not allowed for new users. You need an access JWT token to access the Tidal backend. This JWT token also replaces the API token used before (this also means, you need a Tidal user account to browse metadata, too). |
@ribizli How do I get a developer account? |
@jonaski https://developer.tidal.com/ Some quotations from emails I've got from Tidal:
On the developer portal there is a long list (in Excel) of points the test during QA. They mostly compare the results with their GUI. We have different GUI (limited, different navigation and views), so I'm already afraid about the QA. |
Postponed until Tidal shares documentation. |
@MaxKellermann they won't share until you ask for it actively. In the meanwhile I've implemented the process in our project, and I see, MPD couldn't/shouldn't handle the process on its own. I see however a possible solution:
I think this is a small change in the current implementation (As far I managed to read it). Unfortunately I'm not a C++ developer, so I cannot provide with a PR to move this topic further. Let me share a copy of the related documentation since I have access to Tidal's developer site. |
It uses standardized OAuth protocol. I've already implemented it in Strawberry, but using the client_id from Windows the streams are encrypted. I don't think Tidal would approve an open source project where the client id can be seen in the source code. And without the client id no-one can use it. |
FWIW I was just able to log in to Tidal via a POST to https://api.tidalhifi.com/v1/login/username. I used this token: "GvFhCVAYp3n43EN3", which I believe is from the iOS app. |
That Token just worked for me. |
It worked, thank you very much |
https://github.com/FUFRUnidentifiedFLACRipper/python-tidal-async-oauth2 |
How about an oauth device flow? |
I can imagine an external tool to play the device flow through and get a refresh token. The refresh token has a very long validity, so one needs to get it once, and configure into the plugin. The plugin only needs to get a fresh access token if the previous expired (I already proposed this solution above). Of course the plugin could implement the whole flow, but MPD isn't meant to be used interactively, so where to get the auth code (the four characters to enter on the tidal website) from... Finally my solution was to create a proxy (http server) which cares about the auth, and provides a source for the curl plugin. (like: http://localhost:8080/tidal/) |
I nearly finished my TIDAL C Library with an integrated access_token refresh thread and nearly 100% API coverage. During the setup the user receives a 5 digit code. He authorizes the client via link.tidal.com. |
@DerNuntius it would probably be better to public method of gathering them, not making them directly public ;) |
Yep, that's why I've removed them. A chinese ripping tool used them and I
don't support that.
…On Thu, Nov 19, 2020 at 7:12 AM JuniorJPDJ ***@***.***> wrote:
@DerNuntius <https://github.com/DerNuntius> it would probably be better
to public method of gathering them, not making them directly public ;)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#545 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AK35JFDEUOAIC572IJ6ADM3SQSZLFANCNFSM4HLJRE6Q>
.
|
Closing, Tidal plugin was removes since ver 0.22.10 |
Hi,
we tried to get an official API token from TIDAL, it seems to be possible anyway. But they don't support username/password login anymore, one need to use oAuth alternatives (they provide three).
I see, that implementing the oAuth flow in MPD is not possible, but maybe there should be a way to pass a valid
access token
to MPD.E.g. I can imagine a file with the token on a path configured for the plugin. The plugin reads the file, (optionally) checks for validity (needs base64 decoding and JSON parsing) and uses the token instead of
session_id
.Alternatively also supporting refresh token process?
Please share your thoughts.
The text was updated successfully, but these errors were encountered: