Don't store the spotify password and instead use sp_session_relogin().
This commit is contained in:
parent
6cfecf9b6f
commit
e32bb5cc89
|
@ -289,11 +289,19 @@ void SpotifyClient::Login(const QString& username, const QString& password) {
|
|||
sp_session_preferred_bitrate(session_, SP_BITRATE_320k);
|
||||
sp_session_preferred_offline_bitrate(session_, SP_BITRATE_320k, false);
|
||||
|
||||
#if SPOTIFY_API_VERSION < 9
|
||||
sp_session_login(session_, username.toUtf8().constData(), password.toUtf8().constData());
|
||||
#else
|
||||
sp_session_login(session_, username.toUtf8().constData(), password.toUtf8().constData(), true);
|
||||
#endif
|
||||
if (password.isEmpty()) {
|
||||
sp_error error = sp_session_relogin(session_);
|
||||
if (error != SP_ERROR_OK) {
|
||||
qLog(Warning) << "Tried to relogin but no stored credentials";
|
||||
SendLoginCompleted(false, sp_error_message(error),
|
||||
spotify_pb::LoginResponse_Error_BadUsernameOrPassword);
|
||||
}
|
||||
} else {
|
||||
sp_session_login(session_,
|
||||
username.toUtf8().constData(),
|
||||
password.toUtf8().constData(),
|
||||
true); // Remember the password.
|
||||
}
|
||||
}
|
||||
|
||||
void SpotifyClient::SendLoginCompleted(bool success, const QString& error,
|
||||
|
|
|
@ -26,7 +26,7 @@ option optimize_for = LITE_RUNTIME;
|
|||
|
||||
message LoginRequest {
|
||||
required string username = 1;
|
||||
required string password = 2;
|
||||
optional string password = 2;
|
||||
}
|
||||
|
||||
message LoginResponse {
|
||||
|
|
|
@ -80,7 +80,9 @@ void SpotifyServer::Login(const QString& username, const QString& password) {
|
|||
|
||||
spotify_pb::LoginRequest* request = message.mutable_login_request();
|
||||
request->set_username(DataCommaSizeFromQString(username));
|
||||
request->set_password(DataCommaSizeFromQString(password));
|
||||
if (!password.isEmpty()) {
|
||||
request->set_password(DataCommaSizeFromQString(password));
|
||||
}
|
||||
|
||||
SendMessage(message);
|
||||
}
|
||||
|
|
|
@ -220,7 +220,7 @@ void SpotifyService::EnsureServerCreated(const QString& username,
|
|||
QSettings s;
|
||||
s.beginGroup(kSettingsGroup);
|
||||
|
||||
server_->Login(s.value("username").toString(), s.value("password").toString());
|
||||
server_->Login(s.value("username").toString(), QString::null);
|
||||
} else {
|
||||
server_->Login(username, password);
|
||||
}
|
||||
|
|
|
@ -100,10 +100,8 @@ void SpotifySettingsPage::Load() {
|
|||
s.beginGroup(SpotifyService::kSettingsGroup);
|
||||
|
||||
original_username_ = s.value("username").toString();
|
||||
original_password_ = s.value("password").toString();
|
||||
|
||||
ui_->username->setText(original_username_);
|
||||
ui_->password->setText(original_password_);
|
||||
validated_ = false;
|
||||
|
||||
UpdateLoginState();
|
||||
|
|
Loading…
Reference in New Issue