diff --git a/swh/web/templates/layout.html b/swh/web/templates/layout.html
--- a/swh/web/templates/layout.html
+++ b/swh/web/templates/layout.html
@@ -129,6 +129,12 @@
{% else %}
login
{% endif %}
+ {% else %}
+ {% if request.path != logout_url %}
+ login
+ {% else %}
+ login
+ {% endif %}
{% endif %}
diff --git a/swh/web/tests/test_templates.py b/swh/web/tests/test_templates.py
--- a/swh/web/tests/test_templates.py
+++ b/swh/web/tests/test_templates.py
@@ -6,7 +6,7 @@
import random
from swh.web.common.utils import reverse
-from swh.web.config import STAGING_SERVER_NAMES
+from swh.web.config import STAGING_SERVER_NAMES, get_config
from swh.web.tests.django_asserts import assert_contains, assert_not_contains
from swh.web.tests.utils import check_http_get_response
@@ -23,3 +23,20 @@
client, url, status_code=200, server_name=random.choice(STAGING_SERVER_NAMES),
)
assert_contains(resp, "swh-corner-ribbon")
+
+
+def test_layout_with_oidc_auth_enabled(client):
+ url = reverse("swh-web-homepage")
+ resp = check_http_get_response(client, url, status_code=200)
+ assert_contains(resp, reverse("oidc-login"))
+
+
+def test_layout_without_oidc_auth_enabled(client, mocker):
+ config = get_config()
+ config["keycloak"]["server_url"] = ""
+ mock_get_config = mocker.patch("swh.web.common.utils.get_config")
+ mock_get_config.return_value = config
+
+ url = reverse("swh-web-homepage")
+ resp = check_http_get_response(client, url, status_code=200)
+ assert_contains(resp, reverse("login"))