서드파티 통합
OAuth 스타일 인증 흐름을 사용하여 주최자 계정을 연결하고 범위가 지정된 베어러 토큰으로 API에서 이벤트 피드 데이터를 읽으세요.
1) 사용자를 인증하도록 리디렉션
주최자를 귀하의 앱 이름, 콜백 URL 및 무작위 상태 값과 함께 Kagibag으로 보내세요.
GET /oauth/authorize?client_name=MyApp&redirect_uri=https%3A%2F%2Fexample.com%2Fkagibag%2Fcallback&state=csrf_token_123client_name: 동의 화면에 표시되는 이름입니다.redirect_uri: 성공/오류 매개변수를 수신하는 콜백 URL입니다.state: 귀하의 anti-CSRF 토큰입니다. 콜백에서 이를 검증하세요.
2) 콜백 결과 처리
Kagibag은 귀하의 redirect_uri로 토큰 페이로드 또는 오류 페이로드와 함께 리디렉션합니다.
성공 쿼리 매개변수
token:events:readevent_feed_url: 주최자 피드 엔드포인트 URLstate: 원래 요청에서 에코된 값
오류 쿼리 매개변수
error:access_deniederror_description: 이유 (예: 사용자가 거부했거나 주최자가 아님)state: 원래 요청에서 에코된 값
3) 주최자 이벤트 피드 읽기
반환된 토큰을 주최자 이벤트 엔드포인트의 베어러 토큰으로 사용하세요.
curl -H "Authorization: Bearer {token}" "{event_feed_url}"curl -H "Authorization: Bearer {token}" "https://app.kagibag.test/api/v1/organizer/{team_slug}/events/{event_slug}"이벤트 목록:
GET /api/v1/organizer/{team:slug}/events이벤트 세부정보:GET /api/v1/organizer/{team:slug}/events/{slug}인증 범위:토큰은 발급한 주최자의 팀 피드에만 접근할 수 있습니다.보안 체크리스트
- 각 인증 요청에 대해 고유하고 무작위의 상태를 생성하고 콜백에서 이를 검증하세요.
- 생산 환경에서는 HTTPS 콜백 URL만 사용하세요.
- 토큰을 비밀로 취급하고 암호화된 상태로 저장하세요.
- 가능한 경우 클라이언트 측 로그, 분석 또는 브라우저 저장소에 토큰을 노출하지 마세요.
- 거부/오류 콜백을 우아하게 처리하고 필요시 사용자가 재시도하도록 유도하세요.
예제 콜백 핸들러
if (query.error) {
assert(query.state === session.oauth_state);
return showError(query.error_description ?? '인증 실패');
}
assert(query.state === session.oauth_state);
saveKagibagToken(query.token);
saveKagibagFeedUrl(query.event_feed_url);
return syncEventsNow();