안녕하세요,
저희 Discourse 인스턴스를 위한 매우 구체적인 플러그인을 개발 중이며 몇 가지 질문이 있습니다.
어느 시점에서 플러그인은 저희 Discourse 토픽 이미지 모음을 Imgur로 전송해야 합니다. 해당 이미지를 수집하는 부분은 이미 완료되었습니다.
현재 Imgur API에서 OAuth2 플로우를 사용하여 인증을 시도하고 있습니다. 이미 플러그인의 관리자 UI를 만들어서 버튼을 누르면 Imgur 계정에 플러그인을 인증할 수 있도록 했습니다. 사용자가 로그인하면 콜백 URL(저의 Discourse 인스턴스와 플러그인에서 생성한 특정 라우트로 설정됨)이 액세스 토큰과 함께 호출됩니다(예시 참조).
http://localhost:3000/admin/plugins/plugin_name/callback#access_token=<token>&...
질문은 이 토큰을 어떻게 가져올 수 있는지에 대한 것입니다. 어디서부터 시작해야 할지 전혀 감이 잡히지 않습니다.
제 이해로는 토큰이 해시 파라미터로 반환되므로 JS 쪽에서 처리해야 한다고 생각합니다. 콜백 URL을 위해 컨트롤러와 라우트를 설정해 보았지만, 그곳에서 URL(특히 해시 부분)을 읽는 방법을 파악하지 못했습니다. (Emberjs 문서나 Stackoverflow에서 유용한 정보를 찾지 못했습니다). 다양한 이벤트 리스너를 설정해 보았지만, 절대 트리거되지 않는 것 같습니다.
두 번째 질문은, 토큰과 리프레시 토큰을 어디에 저장해야 하는지에 대한 것입니다. 플러그인에서 시스템 설정으로 저장할 수 있을까요? PluginStore에 대해 들어 보았지만 Ruby에서만 접근 가능합니다(이는 클라이언트가 서버로 이러한 토큰을 보내기 위해 엔드포인트를 생성해야 함을 의미합니다). 또한, 보안 관점에서 안전한가요?
감사합니다!
수정: 라우트 파일명에 오타(소문자 s 누락)가 있어서 아무것도 실행되지 않았던 것이었습니다…