X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fauth.c;h=b923dd9dbdbcd77f172b7e91ebcd325e1339fc1e;hb=69b9292fb899d2de5bde8352ba7f11bef4fa6e8e;hp=16bd49d804525b35c7ad628059ae6ff0f6ef0ba8;hpb=4561ea1314c2978be8d216ae0c4349f70603fcfc;p=citadel.git diff --git a/webcit/auth.c b/webcit/auth.c index 16bd49d80..b923dd9db 100644 --- a/webcit/auth.c +++ b/webcit/auth.c @@ -311,6 +311,7 @@ void finalize_openid_login(void) { char buf[1024]; struct wcsession *WCC = WC; + int already_logged_in = (WCC->logged_in) ; if (havebstr("openid.mode")) { if (!strcasecmp(bstr("openid.mode"), "id_res")) { @@ -340,14 +341,16 @@ void finalize_openid_login(void) // FIXME } } - else { - display_openid_login(&buf[4]); - return; - } - } } + /* If we were already logged in, this was an attempt to associate an OpenID account */ + if (already_logged_in) { + display_openids(); + return; + } + + /* Otherwise the user is probably attempting to log in using OpenID */ if (WC->logged_in) { if (WC->need_regi) { display_reg(1);