LabHub

Keycloak 과 기업 인증 · OAuth2 그랜트 타입 지형도 · 퀴즈

퀴즈: 그랜트 타입

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. SPA 와 모바일 앱에 authorization code + PKCE 를 쓰는 이유는?

    1. 시크릿을 안전하게 보관할 수 없는 클라이언트라서
    2. 왕복이 줄어 로그인이 더 빨라서
    3. OAuth 규격이 그렇게 정해 두어서
    4. 발급되는 토큰 크기가 작아서
  2. PKCE 에서 code_verifier 와 code_challenge 의 관계는?

    1. challenge = verifier 를 암호화한 값
    2. 둘은 무관하다
    3. challenge = SHA256(verifier) 를 Base64URL 로 인코딩한 값
    4. verifier = SHA256(challenge)
  3. Implicit 흐름이 폐기된 이유는?

    1. 왕복이 많아 로그인이 느려지기 때문에
    2. 규격이 개정되며 흐름 이름이 바뀌어서
    3. 액세스 토큰이 URL 에 실려 히스토리와 리퍼러에 남기 때문
    4. PKCE 와 함께 쓸 수 없어서
  4. Client Credentials 그랜트가 쓰이는 상황은?

    1. 브라우저에서 이뤄지는 사용자 로그인
    2. 모바일 앱에서의 사용자 로그인
    3. 여러 서비스에 걸친 SSO 로그인
    4. 사용자가 개입하지 않는 서버 간 통신, 배치 작업, 서비스 계정
  5. 리프레시 토큰을 localStorage 에 저장하면 안 되는 이유는?

    1. 저장 용량 제한에 걸리기 때문
    2. 탭 사이 동기화가 안 되기 때문
    3. CORS 정책에 막히기 때문
    4. XSS 로 자바스크립트가 읽을 수 있고 장기 유효라서
  6. `state` 파라미터를 빠뜨리면 가능해지는 공격은?

    1. 서명 키 없이 토큰을 위조하는 공격
    2. 알고리즘을 바꿔 서명 검증을 우회하는 공격
    3. 공격자의 인가 코드로 피해자를 공격자 계정에 로그인시키는 CSRF
    4. 가로챈 인가 코드를 다시 쓰는 재생 공격