9장. Authorization Code+PKCE
state, nonce, PKCE verifier/challenge를 cryptographic random으로 생성하고 session에 짧게 저장한다. exact redirect URI를 provider 콘솔과 맞춘다. callback에서 state를 먼저 검증한 뒤 code를 서버에서 교환한다.
ID token의 signature, issuer, audience, expiry, nonce를 검증한다. provider subject를 내부 account link key로 쓰고 email만으로 자동 병합하지 않는다.