Google 로그인을 단일 버튼으로 정리
This commit is contained in:
parent
7994175a3d
commit
471eb9621a
15 changed files with 78 additions and 85 deletions
|
|
@ -57,8 +57,8 @@
|
|||
## 1. 인증·온보딩 (auth)
|
||||
|
||||
- [x] `auth-login-config-load` 로그인 설정 조회 (OAuth 구성/허용 도메인) — `GET /auth/config`로 OAuth 구성·dev 로그인 가능 여부·허용 도메인을 받아 버튼 활성/라벨/배지를 결정한다 · 검증: 기존(부분) e2e/auth.spec.ts + 탐색 순회 · 탐색 GREEN(2026-07-27 실순회)
|
||||
- [x] `auth-login-school-google-button` 학교 Google 계정으로 계속 버튼 (primary) — 클릭 시 `/auth/login?provider=google&next=`로 이동해 Google OAuth를 시작하고 oauthReady가 아니면 비활성화된다 · 검증: 기존(부분) e2e/auth.spec.ts + 탐색 순회 · 탐색 GREEN(2026-07-27 실브라우저 순회)
|
||||
- [x] `auth-login-generic-google-button` Google 계정으로 계속 버튼 (secondary) — primary와 동일한 startOAuth를 호출하며 서브라벨에 두 번째 허용 도메인을 표시한다 · 검증: 신규 spec 필요
|
||||
- [x] `auth-login-google-button` 단일 Google 계정으로 로그인 버튼 — 클릭 시 `/auth/login?provider=google&next=`로 이동하고, 보조문구는 `모든 Google 계정`이다. Google authorize는 `prompt=select_account`를 유지하고 `hd`를 보내지 않으며 oauthReady가 아니면 비활성화된다 · 검증: 2026-08-29 desktop/mobile 직접 영향 32/32 + auth API 41/41
|
||||
- [x] `auth-login-generic-google-button` 중복 secondary 제거 — primary와 같은 `startOAuth`를 호출하던 `다른 Google 계정 선택` 버튼을 제거하고 계정 전환은 Google 계정 선택기가 담당한다 · 검증: 2026-08-29 단일 CTA count·옛 버튼 0건 desktop/mobile GREEN
|
||||
- [x] `auth-login-oauth-status-notice` OAuth 비활성 사유 status 안내 — oauthReady가 아닐 때 role=status로 설정 확인 중/미연결/로컬 테스트 계정 사유를 아이콘과 함께 표시한다 · 검증: 기존 e2e/auth.spec.ts
|
||||
- [x] `auth-login-oauth-error-notice` OAuth 콜백 오류 메시지 (?oauth= 쿼리) — 쿼리 사유별(not_configured·domain_not_allowed·access_denied 등) 한국어 안내문과 원본 코드를 표시한다 · 검증: 기존 e2e/auth.spec.ts
|
||||
- [x] `auth-login-dev-role-radiogroup` 로컬 테스트 역할 선택 라디오그룹 (학습자/교수자/관리자) — DEV이고 dev_login_enabled일 때만 노출되며 세 역할 버튼으로 dev 로그인 역할을 고른다 · 검증: 기존(부분) e2e/auth.spec.ts + 탐색 순회 · 탐색 GREEN(2026-07-27 실순회)
|
||||
|
|
@ -94,8 +94,7 @@
|
|||
**의심 결함(에이전트 리포트)**:
|
||||
|
||||
- `auth-login-config-load`: config 로드 실패 시 별도 오류 배너 없이 버튼이 영구 비활성 상태로만 남고, statusMessage는 '연결되지 않았습니다' 문구라서 네트워크 오류와 미설정을 구분해 주지 않는다.
|
||||
- `auth-login-school-google-button`: '학교 Google 계정' 버튼과 일반 'Google 계정' 버튼이 완전히 동일한 provider=google 흐름을 호출한다(학교 SSO/SAML 별도 흐름 없음). 또한 startOAuth 내부의 !oauthReady 오류 세팅 분기는 버튼이 이미 disabled라 실제로 도달 불가한 사문(死文) 코드다.
|
||||
- `auth-login-generic-google-button`: 두 버튼이 기능적으로 중복이라 사용자가 다른 인증 경로로 오해할 수 있다.
|
||||
- `auth-login-school-google-button`·`auth-login-generic-google-button`: 2026-08-29 두 버튼이 같은 provider=google 흐름을 호출하던 중복을 단일 CTA로 해소했다. 계정 선택은 `prompt=select_account`로 유지한다. 공개 Pages 번들은 아직 승격 전이라 로컬 증거와 공개 상태를 구분한다.
|
||||
- `auth-login-oauth-error-notice`: 오류 문단에 role=alert/aria-live가 없어 스크린리더에 즉시 공지되지 않는다.
|
||||
- `auth-login-dev-role-radiogroup`: role=radio 버튼 그룹이지만 방향키 이동 등 라디오그룹 키보드 시맨틱은 구현되어 있지 않다(Tab으로만 이동).
|
||||
- `auth-login-dev-enter-button`: 실패 시 err.message를 그대로 노출하는데 ApiError 메시지가 'API 500: ...' 같은 원문이라 사용자 친화적이지 않을 수 있다.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue