QString url = QString("%1/userinfo").arg(m_keycloakHost); QNetworkRequest req(url); req.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); req.setRawHeader("Authorization", (QString("Bearer %1").arg(token)).toLatin1()); QNetworkAccessManager* m = &m_mgr; QNetworkReply* reply = m->get(req); if (reply->error() != QNetworkReply::NoError) { qDebug() << "error:" << reply->error(); return false; } //阻塞请求 QEventLoop loop; connect(reply, SIGNAL(finished()), &loop, SLOT(quit())); loop.exec(); QByteArray resp = reply->readAll(); qDebug() << "resp:" << resp; QJsonDocument doc = QJsonDocument::fromJson(resp); QJsonObject obj = doc.object(); QString userId = obj.value("sub").toString(); QString userName = obj.value("preferred_username").toString(); SaveUserName(userName,userId); reply->deleteLater();