MCAT can now redirect users to MCIAS for SSO login (including passkey support) instead of showing its own login form. SSO is opt-in via the [sso] config section. - Add SSO landing page with "Sign in with MCIAS" button - Add /sso/redirect and /sso/callback routes - Update mcdsl to v1.5.0 (sso package) - Fix .gitignore: /mcat ignores only the root binary, not cmd/mcat/ - Track cmd/mcat/ source files (previously gitignored by accident) Security: - State cookie uses SameSite=Lax for cross-site redirect compatibility - Session cookie remains SameSite=Strict after login Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
38 lines
1.4 KiB
HTML
38 lines
1.4 KiB
HTML
{{define "title"}} - Login{{end}}
|
|
{{define "container-class"}}auth-container{{end}}
|
|
{{define "content"}}
|
|
<div class="auth-header">
|
|
<div class="brand">mcat</div>
|
|
<div class="tagline">MCIAS Login Policy Tester</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-title">Sign In</div>
|
|
{{if .Error}}<div class="error">{{.Error}}</div>{{end}}
|
|
{{if .SSO}}
|
|
<p>Sign in to test MCIAS login policies.</p>
|
|
<div class="form-actions">
|
|
<a href="/sso/redirect" class="btn">Sign in with MCIAS</a>
|
|
</div>
|
|
{{else}}
|
|
<form method="POST" action="/login">
|
|
{{csrfField}}
|
|
<div class="form-group">
|
|
<label for="username">Username</label>
|
|
<input type="text" id="username" name="username" autocomplete="username" required autofocus>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="password">Password</label>
|
|
<input type="password" id="password" name="password" autocomplete="current-password" required>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="totp_code">TOTP Code (optional)</label>
|
|
<input type="text" id="totp_code" name="totp_code" autocomplete="one-time-code" inputmode="numeric" pattern="[0-9]*" placeholder="6-digit code">
|
|
</div>
|
|
<div class="form-actions">
|
|
<button type="submit">Login</button>
|
|
</div>
|
|
</form>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|