사용자 인증 설정
사용자가 자신의 Snyk 계정을 앱에 연결할 때, 선택한 조직(Organization) 또는 그룹(Group)에 대한 액세스를 승인하고 요청된 범위(Scopes)를 승인해야 합니다. 이 프로세스는 사용자를 Snyk Apps 인증 웹 페이지로 안내하고 적절한 매개변수를 전달할 때 시작됩니다: https://app.snyk.io/oauth2/authorize?response_type=code&client_id={clientId}&redirect_uri={redirectURI}&state={state}&code_challenge={codeChallenge}&code_challenge_method=S256
Snyk 앱에 여러 개의 리디렉션 URI가 구성된 경우, redirect_uri를 전달하여 사용할 리디렉션 URI를 선택할 수 있습니다. 제공된 값은 Snyk 앱에 정의된 값 중 하나와 정확히 일치해야 합니다. 지정하지 않으면 Snyk 앱에 정의된 첫 번째 값이 사용됩니다.
state 값은 이 /authorize 호출에서 redirect_uri의 콜백으로 앱 특정 상태(예: 사용자의 ID)를 전달하는 데 사용됩니다. CSRF 공격을 방지하기 위해 콜백에서 이를 검증해야 합니다.
code_challenge 값은 생성된 코드 검증기(Code Verifier)의 SHA256 해시를 URL 안전한 base64로 인코딩한 문자열입니다. 이 코드 검증기는 /authorize를 호출하기 전에 앱 측에서 생성된 고도로 무작위화된 문자열이어야 하며, 반환된 인증 코드를 액세스 토큰으로 교환할 때 전송됩니다. 자세한 내용은 Proof Key for Code Exchange by OAuth Public Clients를 참조하십시오. Snyk Apps는 코드 챌린지 방법으로 S256만 지원한다는 점에 유의하십시오.

연결이 완료되면 사용자는 지정된 리디렉션 URI로 리디렉션되며, 다음 단계에 필요한 code 및 state 쿼리 문자열 매개변수가 추가됩니다.
Last updated