From 4bc25ffb15d1e559417550a64ca8995ce894f8a8 Mon Sep 17 00:00:00 2001
From: d42 <d42@users.noreply.github.com>
Date: Thu, 31 Dec 2020 16:09:42 +0100
Subject: [PATCH] find sso flow in all of the flows

---
 src/LoginPage.cpp | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/LoginPage.cpp b/src/LoginPage.cpp
index 05741ccaa..fc9183594 100644
--- a/src/LoginPage.cpp
+++ b/src/LoginPage.cpp
@@ -315,10 +315,14 @@ LoginPage::checkHomeserverVersion()
                             if (err || flows.flows.empty())
                                     emit versionOkCb(LoginMethod::Password);
 
-                            if (flows.flows[0].type == mtx::user_interactive::auth_types::sso)
-                                    emit versionOkCb(LoginMethod::SSO);
-                            else
-                                    emit versionOkCb(LoginMethod::Password);
+                            LoginMethod login_method = LoginMethod::Password;
+                            for(const auto &flow : flows.flows) {
+                                if (flow.type == mtx::user_interactive::auth_types::sso) {
+                                    login_method = LoginMethod::SSO;
+                                    break;
+                                }
+                            }
+                            emit versionOk(login_method);
                     });
           });
 }
-- 
GitLab