[GH-ISSUE #542] [feature request] Login with username and password like ncspot #223

Closed
opened 2026-02-28 14:47:52 +03:00 by kerem · 3 comments
Owner

Originally created by @jrcharney on GitHub (Jul 25, 2020).
Original GitHub issue: https://github.com/Rigellute/spotify-tui/issues/542

I love how spotify-tui's interface is laid out in the familiar layout that the official Spotify app is done.

However, I think this application needs one vital improvement, that I think you can borrow from @hrkfdn's ncspot: A simple username and password login.

As much as I would like to develop my own Spotify app in the near future (similar to the @captbaritone's webamp project), I think it is unnecessary to set up a developer account to simply get client id and secret key id to run an interface, when a username and password would be more appropriate.

Fortunately, someone appears to already have taken the liberty of providing an interface, which with their permission, can offer a more reasonable solution to access Spotify through more user-friendly channels. This is what I like about ncspot (other than not needing to run a separate daemon, which I guess is tolerable considering ncmpcpp does the same with mopidy or mpd, though I would probably be better to follow ncspot's lead and have it all be in one app. But I'm comparing apples to oranges in that sense considering spt is has the better interface.)

TLDR: It's time to replace API keys with user credentials.

OS: Manjaro Linux ARM 20.06
Kern: aarch64

(Yes, it can run on Raspberry Pi 4. It would run on a Pi3 if cargo could learn how to use virtual memory instead of being a RAM eater.)

Originally created by @jrcharney on GitHub (Jul 25, 2020). Original GitHub issue: https://github.com/Rigellute/spotify-tui/issues/542 I love how spotify-tui's interface is laid out in the familiar layout that the official Spotify app is done. However, I think this application needs one vital improvement, that I think you can borrow from @hrkfdn's `ncspot`: A simple username and password login. As much as I would like to develop my own Spotify app in the near future (similar to the @captbaritone's `webamp` project), I think it is unnecessary to set up a developer account to simply get client id and secret key id to run an interface, when a username and password would be more appropriate. Fortunately, someone appears to already have taken the liberty of providing an interface, which with their permission, can offer a more reasonable solution to access Spotify through more user-friendly channels. This is what I like about `ncspot` (other than not needing to run a separate daemon, which I guess is tolerable considering ncmpcpp does the same with mopidy or mpd, though I would probably be better to follow `ncspot`'s lead and have it all be in one app. But I'm comparing apples to oranges in that sense considering `spt` is has the better interface.) TLDR: It's time to replace API keys with user credentials. OS: Manjaro Linux ARM 20.06 Kern: aarch64 (Yes, it can run on Raspberry Pi 4. It would run on a Pi3 if cargo could learn how to use virtual memory instead of being a RAM eater.)
kerem closed this issue 2026-02-28 14:47:52 +03:00
Author
Owner

@Rigellute commented on GitHub (Aug 19, 2020):

Creating the client id is certainly not ideal. However, in order to use the Spotify Web API (and more specifically use the underlying Spotify API wrapper rspotify), this step is currently unavoidable.

<!-- gh-comment-id:675998386 --> @Rigellute commented on GitHub (Aug 19, 2020): Creating the client id is certainly not ideal. However, in order to use the Spotify Web API (and more specifically use the underlying Spotify API wrapper [`rspotify`](https://github.com/ramsayleung/rspotify)), this step is currently unavoidable.
Author
Owner

@jrcharney commented on GitHub (Aug 19, 2020):

What if rspotify could be replaced? After reviewing some of the source code of spotify-tui, rspotify, and ncspot, I see your point, but something to consider in the next major version would be to phase out rspotify with internal authentication.

rspotify is an external dependency that handles OAUTH2 requests. If @ramsayleung abandons his project (which he appears to be doing well to keep it up to date), this could be problematic. ncspot handles authentication internally with its own authentication module (src/authentication.rs). If that could be borrowed, rspotify can be phased out and the need to use API creditials (client id, etc.) can be replaced with a more user friendly login.

<!-- gh-comment-id:676525826 --> @jrcharney commented on GitHub (Aug 19, 2020): What if `rspotify` could be replaced? After reviewing some of the source code of `spotify-tui`, `rspotify`, and `ncspot`, I see your point, but something to consider in the next major version would be to phase out `rspotify` with internal authentication. `rspotify` is an external dependency that handles OAUTH2 requests. If @ramsayleung abandons his project (which he appears to be doing well to keep it up to date), this could be problematic. `ncspot` handles authentication internally with its own authentication module (`src/authentication.rs`). If that could be borrowed, `rspotify` can be phased out and the need to use API creditials (client id, etc.) can be replaced with a more user friendly login.
Author
Owner

@jrcharney commented on GitHub (Aug 19, 2020):

I like both projects (ncspot and spotify-tui), but spotify-tui has the advantage of a familiar layout that is similar to the fully Spotify app. ncspot's advantage is a user friendly interface, but the tabbed interface it has needs improvement and could be better organized to behave like Spotify's mobile app if the application is put into a small window. (Not sure if ncurses or Rust's cursive library can handle responsive application design (similar to Responsive Web Design used on some websites).

Imagine if there was a way to merge the best of these two application with the added option responsive application design...more so if you use these apps inside of tmux or screen.

Dibs on the idea! Gonna try to fork both projects!

<!-- gh-comment-id:676530496 --> @jrcharney commented on GitHub (Aug 19, 2020): I like both projects (`ncspot` and `spotify-tui`), but `spotify-tui` has the advantage of a familiar layout that is similar to the fully Spotify app. `ncspot`'s advantage is a user friendly interface, but the tabbed interface it has needs improvement and could be better organized to behave like Spotify's mobile app if the application is put into a small window. (Not sure if ncurses or Rust's cursive library can handle responsive application design (similar to Responsive Web Design used on some websites). Imagine if there was a way to merge the best of these two application with the added option responsive application design...more so if you use these apps inside of `tmux` or `screen`. Dibs on the idea! Gonna try to fork both projects!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/spotify-tui#223
No description provided.