OAuth 클라이언트를 등록해 앱을 Lovable에 연결하고, 스코프를 선택하고, 민감한 스코프에 대한 검증을 요청하고, 클라이언트 자격 증명을 관리합니다.
OAuth로 앱을 Lovable에 연결하기
OAuth 클라이언트를 등록해 앱을 Lovable에 연결하고, 스코프를 선택하고, 민감한 스코프에 대한 검증을 요청하고, 클라이언트 자격 증명을 관리합니다.
OAuth로 앱을 Lovable에 연결하세요. 앱은 각 사용자에게 프로필, 프로젝트, 워크스페이스에 대한 접근을 허용해 달라고 요청합니다. 사용자는 Lovable에 로그인해 앱이 요청하는 스코프를 검토합니다.
OAuth 클라이언트는 앱의 등록 정보입니다. 앱 이름, 인가 후 Lovable이 사용자를 보낼 위치, 앱이 요청할 수 있는 스코프를 정의합니다. 클라이언트를 등록하면 통합을 구성하는 데 필요한 클라이언트 ID를 받고, Web server 클라이언트라면 클라이언트 시크릿도 받습니다.
모든 플랜에서 사용할 수 있습니다. 워크스페이스 소유자와 관리자만 클라이언트를 등록하고 관리할 수 있습니다. 민감한 스코프에는 Business 또는 Enterprise 플랜이 필요합니다.
OAuth 클라이언트를 사용하는 이유
앱이 개별 Lovable 사용자를 대신해 동작해야 할 때 OAuth를 사용하세요. 예를 들어 Lovable 연결이 미리 구성되지 않은 MCP 클라이언트는 커스텀 OAuth 클라이언트를 사용해 각 사용자를 대신해 Lovable MCP 서버에 연결할 수 있습니다. 이때 사용자에게 API 키나 비밀번호를 공유해 달라고 요청할 필요가 없습니다.
클라이언트가 요청할 수 있는 스코프는 직접 선택하고, 각 사용자가 앱을 인가합니다. OAuth 스코프는 프로젝트나 워크스페이스에 대한 사용자의 기존 접근 권한을 확장하지 않습니다.
각 사용자에게 연결을 요청하지 않고 단일 워크스페이스를 관리하는 스크립트라면 Business 및 Enterprise 플랜에서 사용할 수 있는 워크스페이스 API 키를 참고하세요.
일반적인 사용 사례와 예시 앱
앱이 해야 할 일에 따라 스코프를 선택하세요. 다음 예시는 일반적인 통합에서 고려할 만한 스코프를 보여 줍니다.
| 사용 사례 | 예시 앱 | 고려할 스코프 |
|---|---|---|
| Lovable 사용자 식별 | 사용자의 Lovable 계정을 인식하는 커뮤니티 포털 | openid, profile, email |
| 다른 MCP 클라이언트 연결 | Lovable 연결이 미리 구성되지 않은 서드파티 또는 내부 AI 어시스턴트 | 해당 도구에 필요한 프로젝트 및 워크스페이스 스코프 |
| 프로젝트 관리 및 워크스페이스 세부 정보 조회 | 워크스페이스 정보를 보여 주고 사용자가 자신의 프로젝트를 업데이트할 수 있는 대시보드 | openid, projects:write, workspaces:read |
초기 액세스 토큰이 만료된 뒤에도 연결이 계속 작동하도록 앱에 리프레시 토큰이 필요하다면 offline을 추가하세요.
커스텀 OAuth 자격 증명을 지원하는 MCP 클라이언트라면 해당 클라이언트가 제공하는 콜백 URL로 OAuth 클라이언트를 등록한 뒤 클라이언트 ID와 시크릿으로 구성하세요. 그러면 MCP 클라이언트가 로그인해 접근을 인가한 각 사용자를 대신해 https://mcp.lovable.dev의 Lovable MCP 서버에 연결할 수 있습니다.
사전 요구 사항
클라이언트를 등록하기 전에 다음을 갖추었는지 확인하세요.
- 비민감 스코프라면 모든 플랜의 워크스페이스. 민감한 스코프에는 Business 또는 Enterprise 플랜이 필요합니다.
- 해당 워크스페이스의 소유자 또는 관리자 역할
- S256을 사용하는 PKCE와 함께 OAuth 인가 코드 흐름을 지원하는 앱 또는 통합. PKCE는 각 인가 요청을 해당 토큰 교환과 묶어 줍니다.
- 앱이 인가 응답을 받는 데 사용하는 리디렉션 URI(콜백 URL이라고도 함)
- Web server 클라이언트라면 클라이언트 시크릿을 저장하고 인가 코드를 토큰으로 교환할 수 있는 안전한 백엔드 또는 커넥터 구성
OAuth 클라이언트 등록하기
클라이언트 자격 증명을 소유하고 관리할 워크스페이스에 앱을 등록합니다.
OAuth 클라이언트 설정 열기
클라이언트를 소유할 워크스페이스를 선택한 뒤 Workspace settings → API keys & OAuth → OAuth clients로 이동합니다.
New OAuth client를 클릭합니다.
애플리케이션 유형 선택
Application type에서 브라우저에서 로그인을 처리하는 앱이면 Single-page app을, 백엔드 서버에서 로그인을 처리하는 앱이면 Web server를 선택합니다. Single-page app은 클라이언트 시크릿 없이 PKCE를 사용합니다. Web server 앱은 클라이언트 시크릿과 PKCE를 함께 사용합니다. 등록한 뒤에는 유형을 변경할 수 없습니다.
클라이언트 이름 지정
Project reporting dashboard처럼 알아보기 쉬운 Client name을 입력합니다.
리디렉션 URI 추가
Redirect URIs에 앱이나 통합이 제공하는 콜백 URL을 입력합니다. 예를 들면 https://example.com/oauth/callback입니다. 리디렉션 URI는 https를 사용해야 합니다. 개발 중에는 localhost, 127.0.0.1, [::1], .localhost 주소에 한해 http도 사용할 수 있습니다.
통합에서 콜백 URL을 더 사용한다면 Add redirect URI를 클릭합니다. 클라이언트당 최대 10개까지 추가할 수 있습니다.
스코프 선택
Scopes에서 앱에 필요한 스코프만 선택합니다.
스코프는 로그인과 프로필 접근을 위한 Non-sensitive scopes(비민감 스코프)와 프로젝트 및 워크스페이스 접근을 위한 Sensitive scopes(민감한 스코프)로 나뉩니다. 아래 스코프 참조를 보고 스코프를 선택하세요. 앱의 인가 요청은 클라이언트에 등록된 스코프 범위를 벗어날 수 없습니다.
등록하고 자격 증명 저장
Register client를 클릭합니다. Lovable이 클라이언트 세부 정보를 열고 Client ID를 표시합니다. Web server 클라이언트라면 Client secret도 표시합니다.
페이지를 벗어나기 전에 이 값을 통합의 안전한 구성에 복사하세요.
클라이언트 시크릿은 한 번만 표시되므로 안전하게 보관하세요. 브라우저 코드, 공개 리포지토리, 프롬프트에 넣지 마세요. 시크릿을 잃어버렸다면 새 시크릿을 생성하고 통합을 업데이트하세요.
사용 가능한 스코프
스코프는 앱이 사용자를 대신해 읽을 수 있는 데이터와 수행할 수 있는 작업을 정의합니다. 스코프를 등록하면 앱이 해당 스코프를 요청할 수 있습니다. 다만 앱은 인가 요청에도 그 스코프를 포함해야 합니다.
비민감 스코프는 모든 플랜에서 사용할 수 있습니다. 민감한 스코프에는 Business 또는 Enterprise 워크스페이스가 필요합니다.
| 스코프 | 분류 | 용도 |
|---|---|---|
openid | 비민감 | OpenID Connect로 로그인한 사용자를 식별합니다. |
profile | 비민감 | 사용자의 프로필 정보를 읽습니다. |
email | 비민감 | 사용자의 이메일 주소를 읽습니다. |
offline | 비민감 | 인가 중에 요청하면 리프레시 토큰을 받습니다. |
projects:read | 민감 | 사용자가 접근할 수 있는 프로젝트를 읽습니다. |
projects:write | 민감 | 프로젝트를 읽고, 만들고, 수정합니다. |
workspaces:read | 민감 | 사용자가 접근할 수 있는 워크스페이스를 읽습니다. |
workspaces:write | 민감 | 사용자의 기존 접근 권한 범위 안에서 기존 워크스페이스를 읽고 수정합니다. |
앱 연결하기
통합에 클라이언트 ID, Web server 클라이언트라면 클라이언트 시크릿, 등록된 콜백 URL, 필요한 스코프를 제공하세요. 그리고 S256을 사용하는 PKCE와 함께 인가 코드(authorization code) 흐름을 사용하도록 구성합니다.
사용자는 Lovable에 로그인해 요청된 스코프를 인가합니다. Lovable은 콜백 URL로 인가 코드를 반환하고, 앱은 PKCE verifier와 클라이언트 시크릿(Web server 클라이언트인 경우)을 사용해 이 코드를 토큰으로 교환합니다. 앱은 액세스 토큰을 사용해 사용자를 대신해 동작합니다. 예를 들어 Lovable API의 bearer 토큰으로 사용할 수 있습니다.
OAuth 또는 OpenID Connect 라이브러리를 사용해 PKCE를 처리하고, 인가 응답과 로그인에 사용하는 ID 토큰을 검증하고, 토큰을 안전하게 저장하세요. 리프레시 토큰을 받으려면 클라이언트에 등록된 스코프와 인가 요청 모두에 offline을 포함하세요.
OAuth 엔드포인트
커스텀 통합에는 다음 프로덕션 엔드포인트를 사용하세요.
| 설정 | URL |
|---|---|
| Issuer | https://lovable.dev/oauth |
| OpenID Connect discovery | https://lovable.dev/oauth/.well-known/openid-configuration |
| 인가 엔드포인트 | https://lovable.dev/oauth/authorize |
| 토큰 엔드포인트 | https://lovable.dev/oauth/token |
| UserInfo 엔드포인트 | https://lovable.dev/oauth/userinfo |
| 공개 서명 키 | https://lovable.dev/oauth/keys |
OpenID Connect discovery 문서를 사용해 라이브러리를 구성하세요. 이 문서에는 다른 클라이언트 유형을 위한 기능도 포함되어 있으므로, 이 페이지에서 설명하는 스코프와 인가 흐름을 사용하세요.
OAuth 클라이언트 관리하기
등록한 뒤에는 클라이언트 세부 정보를 열어 검증을 요청하거나, 설정을 업데이트하거나, 시크릿을 교체하거나, 클라이언트를 삭제할 수 있습니다.
Lovable에 검증 요청하기
사용자를 보호하기 위해 민감한 스코프로 등록된 OAuth 클라이언트는 Lovable의 검증을 받아야 합니다. 클라이언트가 검증되기 전까지 사용자는 클라이언트를 인가할 때 경고를 보게 됩니다.
검증을 요청하려면 Workspace settings → API keys & OAuth → OAuth clients에서 클라이언트를 열고 Verification 옆의 Request approval을 클릭합니다. Lovable이 클라이언트를 검증하면 배지에 Verified by Lovable이 표시되고 경고가 더 이상 나타나지 않습니다. Lovable이 5일 안에 결정하지 않으면 요청이 만료되며, 다시 승인을 요청할 수 있습니다. Lovable이 요청을 거부하면 배지에 Approval denied가 표시됩니다. 이 경우 클라이언트를 변경한 뒤 다시 승인을 요청할 수 있습니다.
클라이언트 편집하기
클라이언트를 열고 Edit client를 클릭한 뒤 이름, 리디렉션 URI, 스코프를 업데이트하고 Save changes를 클릭합니다. 클라이언트 ID와 시크릿은 그대로 유지됩니다.
변경 사항은 기존 통합의 로그인에 영향을 줄 수 있습니다. 저장하기 전에 앱의 콜백 URL과 요청하는 스코프를 확인하세요.
검증된 클라이언트를 편집할 때 변경 내용에 민감한 스코프가 포함되어 있으면 검토 요청이 생성됩니다. Lovable이 제안을 검토하는 동안 현재 구성과 검증 상태는 계속 유효합니다. 제안된 설정은 클라이언트 세부 정보 페이지의 Pending changes에서 검토하세요.
대기 중인 검증 요청이나 변경 요청은 편집할 수 있습니다. Edit client를 누르면 제안된 설정이 열리며, 저장하면 대기 중인 검토가 새 요청으로 대체됩니다. 수정된 제안에서 민감한 스코프를 모두 제거하더라도 현재 설정은 승인될 때까지 유효합니다. 요청을 취소하려면 Withdraw request를 사용하세요. Lovable이 승인 내용을 적용하기 시작하면 편집과 철회를 할 수 없습니다.
대기 중인 검토가 없을 때, 검증되지 않은 클라이언트에 대한 편집이나 비민감 스코프만 남기는 변경은 즉시 적용되며 검증 상태가 초기화됩니다. 비민감 스코프만 있는 클라이언트는 다시 검증을 요청할 필요가 없습니다.
스코프를 추가하고 앱이 그 스코프를 요청하기 시작하면, 이미 연결한 사용자는 다음에 로그인할 때 해당 스코프를 인가하라는 요청을 받습니다.
새 클라이언트 시크릿 생성하기
Web server 클라이언트에는 활성 시크릿이 하나 있습니다. 시크릿을 잃어버렸거나 교체해야 할 때 이 방법을 사용하세요.
- 클라이언트를 열고 Client secret 아래의 Generate new secret을 클릭합니다.
- Generate new secret을 눌러 확인합니다.
- 새 시크릿을 복사하고 이 클라이언트를 사용하는 모든 앱 또는 커넥터 구성을 업데이트합니다.
- 업데이트된 구성으로 로그인과 토큰 갱신을 테스트합니다.
이전 시크릿은 몇 초 안에 작동을 멈춥니다. 이전 시크릿을 계속 사용하는 통합에서는 로그인과 토큰 갱신이 실패합니다. 새 시크릿은 한 번만 표시되므로 페이지를 벗어나기 전에 복사하세요.
클라이언트 삭제하기
목록에서 클라이언트 메뉴를 열거나 클라이언트 세부 정보에서 Delete client를 클릭한 뒤 확인합니다. 해당 클라이언트를 사용하는 앱은 더 이상 Lovable로 사용자를 로그인시킬 수 없으며, 기존 연결도 작동을 멈춥니다. 클라이언트 삭제는 되돌릴 수 없습니다.
제한 사항
통합을 계획할 때 다음 등록 한도와 지원되는 인가 흐름을 고려하세요.
- 워크스페이스당 OAuth 클라이언트는 최대 20개까지 등록할 수 있습니다. 한도에 도달하면 사용하지 않는 클라이언트를 삭제한 뒤 새로 등록하세요.
- 클라이언트는 PKCE를 사용하는 인가 코드 흐름과 선택적 리프레시 토큰을 지원합니다. 사용자 없이 무인으로 접근하기 위한 client credentials grant는 지원되지 않습니다.
- 이 페이지에 나열된 8개 스코프만 사용할 수 있습니다.