aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/src/nxmaccessmanager.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/src/nxmaccessmanager.cpp b/src/src/nxmaccessmanager.cpp
index a04ea3d..9e00401 100644
--- a/src/src/nxmaccessmanager.cpp
+++ b/src/src/nxmaccessmanager.cpp
@@ -681,7 +681,7 @@ NXMAccessManager::NXMAccessManager(QObject* parent, Settings* s,
// Migrate users who only have an OAuth token but no legacy API key — some
// plugins still read only the legacy field. Defer to the event loop so
// startup isn't blocked on the network.
- if (!m_Tokens.accessToken.isEmpty() && m_Tokens.apiKey.isEmpty()) {
+ if (m_Tokens && !m_Tokens->accessToken.isEmpty() && m_Tokens->apiKey.isEmpty()) {
QMetaObject::invokeMethod(
this, [this]() { fetchAndStoreLegacyApiKey(); }, Qt::QueuedConnection);
}
@@ -799,17 +799,20 @@ void NXMAccessManager::notifyTokens()
void NXMAccessManager::fetchAndStoreLegacyApiKey()
{
- if (!m_Tokens.apiKey.isEmpty()) {
+ if (!m_Tokens) {
+ return;
+ }
+ if (!m_Tokens->apiKey.isEmpty()) {
// already have one (manually entered or carried over)
return;
}
- if (m_Tokens.accessToken.isEmpty()) {
+ if (m_Tokens->accessToken.isEmpty()) {
return;
}
QNetworkRequest request(NexusV1BaseUrl + "users/validate.json");
request.setRawHeader("Authorization",
- ("Bearer " + m_Tokens.accessToken).toUtf8());
+ ("Bearer " + m_Tokens->accessToken).toUtf8());
addAPIHeaders(request);
QNetworkReply* reply = get(request);
if (!reply) {
@@ -836,7 +839,9 @@ void NXMAccessManager::fetchAndStoreLegacyApiKey()
}
if (GlobalSettings::setNexusApiKey(key)) {
- m_Tokens.apiKey = key;
+ if (m_Tokens) {
+ m_Tokens->apiKey = key;
+ }
log::info("nexus: stored legacy API key derived from OAuth session");
}
});