API를 통해 user_api_keys 값을 가져오는 방법

Hi @simon, 답변해 주셔서 감사합니다. 저희 상황을 좀 더 자세히 설명드리겠습니다.

저희는 Discourse 엔드포인트의 백엔드 로직에 의존하는 모바일 앱을 개발하고 있습니다. 사용자가 앱을 통해 로그인하면 로그인 데이터가 session.json을 통해 Discourse API로 전송되고, 이 API는 쿠키를 반환합니다. 이 쿠키는 웹뷰를 /user-api-key/new로 리디렉션하여 사용자가 승인하도록 프롬프트하는 데 사용됩니다. 승인 후 페이로드가 복호화되어 API 키로 변환됩니다.

이 경우, 모바일 앱 내에서 API 키를 전역 토큰으로 사용하여 다른 Discourse 엔드포인트에 액세스할 수 있습니다. 그러나 사용자가 로그아웃하면 토큰이 전역 상태(global state)에서 제거되어야 하며, 이를 통해 새 토픽 생성과 같은 엔드포인트에 액세스할 수 없도록 해야 합니다.

제 질문은 이 토픽과 관련되어 있습니다: 사용자가 이미 user_api_keys를 가지고 있는지, 그리고 그것들이 여전히 활성 상태인지 어떻게 확인할 수 있을까요? 키가 존재하고 활성 상태라면, 사용자는 로그인 후 이를 사용할 수 있어야 합니다. 그렇지 않다면, 사용자는 새로운 user_api_keys를 생성해야 하며, 이는 웹뷰에서의 승인을 필요로 합니다.

제가 직면한 주요 문제는 이 부분입니다.

How to Retrieve User API Keys Value via API 게시물에 기반하여 고려한 또 다른 해결책은 API 키를 저희 모바일 앱의 데이터베이스에 저장하는 것입니다.

또한 Generate User API Key Without User Approval - #2 by simon 게시물도 참고했습니다. 이 게시물은 처음에 API 키 구현을 위해 살펴본 자료였습니다. 그러나 문제는 여전히 동일합니다: /admin/api/keys를 확인해도 데이터베이스에 이미 저장된 API 키의 값을 가져오거나 사용자별 API 키를 조회할 수 없습니다. 저는 이 구현을 위해 API 키를 저희 자체 데이터베이스에 저장해야 한다고 생각합니다.