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();