twitch drops 서비스를 개발하기 위한 내용을 간단히 정리합니다.(메모 목적이라서 생략된 부분이 많습니다.)
이미 원신(링크) 등에서 사용하고 있어서 참고하였습니다.
- 준비 필요 사항
- 트위치 개발자 사이트에서 개발자 설정 및 어플리케이션 추가
- 2차인증 등 보안 관련 꽤 설정할게 많았음
- 트위치 개발자 사이트에서 개발자 설정 및 어플리케이션 추가
- 트위치 웹 로그인을 위한 URL확인
- 트위치가 OIDC방식을 지원함(참고 링크)
- OIDC 여러 response_type(적용방법?)이 존재하는데 'OIDC authorization code grant flow' 사용
- 원신 예
- 원신은 아래와 같은 URL을 사용하고 있고 URL디코딩을 하면 어떤 파라미터로 트위치에 요청하는지 알 수 있었음
- https://id.twitch.tv/oauth2/authorize?claims=%7B%22id_token%22%3A%7B%22iss%22%3A%22%22%2C%22sub%22%3A%22%22%2C%22aud%22%3A%22%22%2C%22exp%22%3A0%2C%22iat%22%3A0%2C%22nonce%22%3A%22%22%2C%22picture%22%3A%22%22%2C%22preferred_username%22%3A%22%22%7D%2C%22userinfo%22%3A%7B%22picture%22%3A%22%22%2C%22preferred_username%22%3A%22%22%7D%7D&client_id=qb4j308hke6jw76fzou0taq6jfzgjz&force_verify=true&redirect_uri=https%3A%2F%2Fsg-hk4e-api.hoyoverse.com%2Fevent%2Fring%2Fhk4e_global%2Ftwitch%2Fexchange&response_type=code&scope=openid&state=1657158098
- URL 디코딩 결과 내용
- https://id.twitch.tv/oauth2/authorize?claims={"id_token":{"iss":"","sub":"","aud":"","exp":0,"iat":0,"nonce":"","picture":"","preferred_username":""},"userinfo":{"picture":"","preferred_username":""}}&client_id=qb4j308hke6jw76fzou0taq6jfzgjz&force_verify=true&redirect_uri=https://sg-hk4e-api.hoyoverse.com/event/ring/hk4e_global/twitch/exchange&response_type=code&scope=openid&state=1657158098
- URL 디코딩 결과 내용
- https://id.twitch.tv/oauth2/authorize?claims=%7B%22id_token%22%3A%7B%22iss%22%3A%22%22%2C%22sub%22%3A%22%22%2C%22aud%22%3A%22%22%2C%22exp%22%3A0%2C%22iat%22%3A0%2C%22nonce%22%3A%22%22%2C%22picture%22%3A%22%22%2C%22preferred_username%22%3A%22%22%7D%2C%22userinfo%22%3A%7B%22picture%22%3A%22%22%2C%22preferred_username%22%3A%22%22%7D%7D&client_id=qb4j308hke6jw76fzou0taq6jfzgjz&force_verify=true&redirect_uri=https%3A%2F%2Fsg-hk4e-api.hoyoverse.com%2Fevent%2Fring%2Fhk4e_global%2Ftwitch%2Fexchange&response_type=code&scope=openid&state=1657158098
- 위 URL 내용을 참고하여 만들려고 하는 본인의 어플리케이션에 맞게 파라미터를 변경함. 이때 파라미터의 내용은 트위치 개발자 사이트를 참고
- redirect_uri에 본인의 서버쪽에서 검증
- 원신은 아래와 같은 URL을 사용하고 있고 URL디코딩을 하면 어떤 파라미터로 트위치에 요청하는지 알 수 있었음
- 트위치 드랍스 기능 구현
- 기타 사항 추가로 작성 예정
- 트위치가 OIDC방식을 지원함(참고 링크)
'기타' 카테고리의 다른 글
이미지 리사이징 관련 정리(ing) (0) | 2023.05.09 |
---|---|
headless CMS 정리 - 작성 중 (0) | 2022.08.05 |
개발 직군 Roadmaps (0) | 2022.04.27 |
채용시 나의 기준 (0) | 2021.11.05 |
이메일을 이용한 업무처리 방법(논리적인 메일 커뮤니케이션 방법 등) (0) | 2021.08.10 |