Skip to content

Commit 5528f52

Browse files
committed
fix: deprecated auth header x-emby-token
1 parent dc0923a commit 5528f52

4 files changed

Lines changed: 14 additions & 15 deletions

File tree

app/include/api/jellyfin.hpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ inline void getJSON(const std::function<void(Result)>& then, OnError error, std:
1919
std::string url = fmt::format(fmt::runtime(fmt), std::forward<Args>(args)...);
2020
brls::async([then, error, url]() {
2121
auto& c = AppConfig::instance();
22-
HTTP::Header header = {"X-Emby-Token: " + c.getToken()};
22+
HTTP::Header header = {c.getAuth(c.getToken())};
2323

2424
try {
2525
auto resp = HTTP::get(c.getUrl() + url, header, HTTP::Timeout{});
@@ -37,10 +37,7 @@ inline void postJSON(const nlohmann::json& data, Then then, OnError error, std::
3737
std::string url = fmt::format(fmt::runtime(fmt), std::forward<Args>(args)...);
3838
brls::async([then, error, url, data]() {
3939
auto& c = AppConfig::instance();
40-
HTTP::Header header = {
41-
"Content-Type: application/json",
42-
"X-Emby-Token: " + c.getToken(),
43-
};
40+
HTTP::Header header = {"Content-Type: application/json", c.getAuth(c.getToken())};
4441

4542
try {
4643
auto resp = HTTP::post(c.getUrl() + url, data.dump(), header, HTTP::Timeout{});

app/include/utils/config.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ class AppConfig : public brls::Singleton<AppConfig> {
166166
bool removeServer(const std::string& id);
167167
bool removeUser(const std::string& id);
168168
const std::string& getDeviceId() { return this->device; }
169-
std::string getDevice(const std::string& token = "");
169+
std::string getAuth(const std::string& token = "");
170170
const std::string& getUserId() const { return this->user_id; }
171171
const std::string& getUserName() const { return this->user->name; }
172172
const std::string& getToken() const { return this->user->access_token; }
@@ -186,6 +186,7 @@ class AppConfig : public brls::Singleton<AppConfig> {
186186
std::string user_id;
187187
std::string server_url;
188188
std::string device;
189+
std::string device_name;
189190
std::vector<AppUser> users;
190191
std::vector<AppServer> servers;
191192
std::vector<AppRemote> remotes;

app/src/tab/server_login.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class QuickConnect : public brls::Box {
1616
brls::Logger::debug("View QuickConnect: create");
1717
this->inflateFromXMLRes("xml/view/quick_connect.xml");
1818
this->isCancel = std::make_shared<std::atomic_bool>(false);
19-
this->header.push_back(AppConfig::instance().getDevice());
19+
this->header.push_back(AppConfig::instance().getAuth());
2020
}
2121

2222
void Run() {
@@ -165,7 +165,7 @@ bool ServerLogin::onSignin() {
165165

166166
ASYNC_RETAIN
167167
brls::async([ASYNC_TOKEN, data]() {
168-
HTTP::Header header = {"Content-Type: application/json", AppConfig::instance().getDevice()};
168+
HTTP::Header header = {"Content-Type: application/json", AppConfig::instance().getAuth()};
169169
brls::Logger::info("login header {}", header[1]);
170170

171171
try {

app/src/utils/config.cpp

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ bool AppConfig::checkLogin() {
521521
if (it == this->servers.end()) return false;
522522

523523
this->server_url = it->urls.front();
524-
HTTP::Header header = {this->getDevice(this->user->access_token)};
524+
HTTP::Header header = {this->getAuth(this->user->access_token)};
525525
std::string uri = this->server_url + jellyfin::apiInfo;
526526
try {
527527
std::string resp = HTTP::get(uri, header, HTTP::Timeout{});
@@ -695,16 +695,17 @@ bool AppConfig::removeUser(const std::string& id) {
695695
return false;
696696
}
697697

698-
std::string AppConfig::getDevice(const std::string& token) {
698+
std::string AppConfig::getAuth(const std::string& token) {
699+
if (this->device_name.empty()) this->device_name = AppVersion::getDeviceName();
700+
699701
if (token.empty())
700-
return fmt::format(
701-
"X-Emby-Authorization: MediaBrowser Client=\"{}\", Device=\"{}\", DeviceId=\"{}\", Version=\"{}\"",
702-
AppVersion::getPackageName(), AppVersion::getDeviceName(), this->device, AppVersion::getVersion());
702+
return fmt::format("Authorization: MediaBrowser Client=\"{}\", Device=\"{}\", DeviceId=\"{}\", Version=\"{}\"",
703+
AppVersion::getPackageName(), this->device_name, this->device, AppVersion::getVersion());
703704
else
704705
return fmt::format(
705-
"X-Emby-Authorization: MediaBrowser Client=\"{}\", Device=\"{}\", DeviceId=\"{}\", Version=\"{}\", "
706+
"Authorization: MediaBrowser Client=\"{}\", Device=\"{}\", DeviceId=\"{}\", Version=\"{}\", "
706707
"Token=\"{}\"",
707-
AppVersion::getPackageName(), AppVersion::getDeviceName(), this->device, AppVersion::getVersion(), token);
708+
AppVersion::getPackageName(), this->device_name, this->device, AppVersion::getVersion(), token);
708709
}
709710

710711
const std::vector<AppUser> AppConfig::getUsers(const std::string& id) const {

0 commit comments

Comments
 (0)