* Add initial test & add pipeline * Add very basic YAML config tests * Add coverage reporting * Add some webserver & template loading tests * Add test cases for the helpers * Implement initial OIDC server tests * Test codestore & discovery checker * Test basics of the config flow * Add test for the HA auth provider * Cleaned up tests & test injection
30 lines
914 B
Python
30 lines
914 B
Python
"""Welcome route to show the user the OIDC login button and give instructions."""
|
|
|
|
from aiohttp import web
|
|
from homeassistant.components.http import HomeAssistantView
|
|
from ..tools.helpers import get_url, get_view
|
|
|
|
PATH = "/auth/oidc/welcome"
|
|
|
|
|
|
class OIDCWelcomeView(HomeAssistantView):
|
|
"""OIDC Plugin Welcome View."""
|
|
|
|
requires_auth = False
|
|
url = PATH
|
|
name = "auth:oidc:welcome"
|
|
|
|
def __init__(self, name: str, is_enabled: bool, force_https: bool) -> None:
|
|
self.name = name
|
|
self.is_enabled = is_enabled
|
|
self.force_https = force_https
|
|
|
|
async def get(self, _: web.Request) -> web.Response:
|
|
"""Receive response."""
|
|
|
|
if not self.is_enabled:
|
|
raise web.HTTPTemporaryRedirect(get_url("/", self.force_https))
|
|
|
|
view_html = await get_view("welcome", {"name": self.name})
|
|
return web.Response(text=view_html, content_type="text/html")
|