{% extends "base.html" %} {% from "components/ui.html" import page_header, breadcrumb_nav, button, filter_badge %} {% block title %}{{ _('OIDC Debug Dashboard') }} - {{ app_name }}{% endblock %} {% block content %} {% set breadcrumbs = [ {'text': _('Admin'), 'url': url_for('admin.admin_dashboard')}, {'text': _('OIDC Settings')} ] %} {{ page_header( icon_class='fas fa-shield-alt', title_text=_('OIDC Debug Dashboard'), subtitle_text=_('Inspect configuration, provider metadata and OIDC users'), breadcrumbs=breadcrumbs, actions_html='' + _('Test Configuration') + '' ) }}
{{ oidc_config.auth_method }}{{ oidc_config.issuer }}{% else %}{{ _('Not configured') }}{% endif %}{{ oidc_config.client_id }}{% else %}{{ _('Not configured') }}{% endif %}{{ oidc_config.redirect_uri }}{% else %}{{ _('Auto-generated') }}{% endif %}{{ oidc_config.scopes }}{{ oidc_config.username_claim }}{{ oidc_config.email_claim }}{{ oidc_config.full_name_claim }}{{ oidc_config.groups_claim }}{{ oidc_config.admin_group }}{% else %}{{ _('Not configured') }}{% endif %}{{ email }}{% endfor %}{% else %}{{ _('Not configured') }}{% endif %}{{ oidc_config.post_logout_redirect }}{% else %}{{ _('Auto-generated') }}{% endif %}{{ _('Discovery endpoint:') }} {{ well_known_url }}
{{ metadata.authorization_endpoint }}{{ metadata.token_endpoint }}{{ metadata.userinfo_endpoint }}{{ metadata.end_session_endpoint }}{{ metadata.jwks_uri }}{{ well_known_url }}{{ _('Provider metadata not loaded. Click "Test Configuration" to fetch.') }}
{% endif %}| {{ _('Username') }} | {{ _('Email') }} | {{ _('Full Name') }} | {{ _('Role') }} | {{ _('Last Login') }} | {{ _('OIDC Subject') }} | {{ _('Actions') }} |
|---|---|---|---|---|---|---|
| {{ user.username }} {% if not user.is_active %}{{ _('Inactive') }}{% endif %} | {{ user.email or '-' }} | {{ user.full_name or '-' }} | {% if user.is_admin %}{{ _('Admin') }}{% else %}{{ _('User') }}{% endif %} | {% if user.last_login %}{{ user.last_login|user_datetime('%Y-%m-%d %H:%M') }}{% else %}{{ _('Never') }}{% endif %} | {{ user.oidc_sub[:20] }}... |
{{ _('Details') }} |
{{ _('No users have logged in via OIDC yet.') }}
{% endif %}{{ _('Configure OIDC using these environment variables:') }}
| {{ _('Variable') }} | {{ _('Description') }} | {{ _('Example') }} |
|---|---|---|
AUTH_METHOD | {{ _('Authentication method') }} | oidc / both / local |
OIDC_ISSUER | {{ _('OIDC provider issuer URL') }} | https://auth.example.com |
OIDC_CLIENT_ID | {{ _('Client ID from OIDC provider') }} | timetracker |
OIDC_CLIENT_SECRET | {{ _('Client secret from OIDC provider') }} | secret123 |
OIDC_REDIRECT_URI | {{ _('Callback URL (optional, auto-generated)') }} | https://app.example.com/auth/oidc/callback |
OIDC_SCOPES | {{ _('Requested scopes') }} | openid profile email groups |
OIDC_USERNAME_CLAIM | {{ _('Claim containing username') }} | preferred_username |
OIDC_EMAIL_CLAIM | {{ _('Claim containing email') }} | email |
OIDC_FULL_NAME_CLAIM | {{ _('Claim containing full name') }} | name |
OIDC_GROUPS_CLAIM | {{ _('Claim containing groups') }} | groups |
OIDC_ADMIN_GROUP | {{ _('Group name for admin role (optional)') }} | timetracker_admin |
OIDC_ADMIN_EMAILS | {{ _('Comma-separated admin emails (optional)') }} | admin@example.com,boss@example.com |