Fix saml login for portal-userauthcookie (#12)

This commit is contained in:
Kevin Yue
2020-05-29 23:38:51 +08:00
committed by GitHub
parent 4313b9d0e7
commit 1e2322b938
4 changed files with 26 additions and 7 deletions

View File

@@ -59,11 +59,19 @@ void SAMLLoginWindow::onResponseReceived(QJsonObject params)
const QString username = headers.value("saml-username").toString();
const QString preloginCookie = headers.value("prelogin-cookie").toString();
const QString userAuthCookie = headers.value("portal-userauthcookie").toString();
if (!username.isEmpty() && !preloginCookie.isEmpty()) {
if (!username.isEmpty()) {
samlResult.insert("username", username);
}
if (!preloginCookie.isEmpty()) {
samlResult.insert("preloginCookie", preloginCookie);
}
if (!userAuthCookie.isEmpty()) {
samlResult.insert("userAuthCookie", userAuthCookie);
}
}
void SAMLLoginWindow::onLoadFinished()
@@ -71,7 +79,8 @@ void SAMLLoginWindow::onLoadFinished()
LOGI << "Load finished " << this->webView->page()->url().toString();
// Check the SAML result
if (!samlResult.value("username").isEmpty() && !samlResult.value("preloginCookie").isEmpty()) {
if (samlResult.contains("username")
&& (samlResult.contains("preloginCookie") || samlResult.contains("userAuthCookie"))) {
emit success(samlResult);
accept();
} else {