Roblox 리소스에 액세스하기 위해 Open Cloud API를 사용하는 앱을 빌드하거나 인증할 수 있습니다. Open Cloud는 OAuth 2.0을 사용하여 이러한 앱의 인증을 제공합니다.
- 게임 제작자 또는 그룹 소유자로서
다른 사람이 만든 도구를 안전하게 사용하여 창작 생산성을 개선할 수 있습니다. OAuth 2.0 권한 부여 레이어는 타사 앱이 귀하 또는 귀하의 그룹의 게임에 액세스할 수 있도록 허용하되, 자격 증명 및 개인 정보를 제공할 필요가 없습니다. 특정 Roblox 리소스의 액세스 권한을 선택하고 Roblox가 OAuth 2.0 프레임워크를 통해 권한 부여 프로세스를 처리합니다.
- 앱 개발자로서
Roblox 커뮤니티를 위해 자신과 다른 사람들을 위한 앱을 만들 수 있습니다. OAuth 2.0은 권한 부여 프로세스에 관련된 역할, 역할 사이의 상호 작용 방식을 정의하며, 안전하고 호환되는 앱을 개발하기 위해 따라야 하는 권한 부여 흐름을 설명합니다.
역할
Open Cloud OAuth 2.0 프로토콜에는 다음과 같은 역할이 있습니다. 이러한 역할이 서로 어떻게 상호 작용하는지 배우기 전에 특정 역할을 이해하는 것이 유용합니다.
리소스 소유자: 보호된 리소스에 대한 액세스를 부여할 수 있는 엔터티입니다. 예를 들어, Open Cloud 웹 API를 통해 타사 앱이 자신의 Roblox 리소스에 액세스할 수 있도록 허용하는 제작자입니다.
리소스 서버: 보호된 리소스를 호스팅하고 리소스 소유자의 요청에 응답하는 Roblox 서비스입니다.
클라이언트: 리소스 소유자 대신 보호된 리소스에 액세스하는 앱입니다(소유자의 권한 부여를 통해).
권한 부여 서버: 리소스 소유자의 신원을 인증하고 클라이언트에 액세스 토큰을 발급하는 Roblox 서버입니다.
권한 부여 유형
권한 부여 흐름 또는 권한 부여 유형은 권한 부여 프로세스에서 역할이 수행하는 행동 단계를 말합니다. Roblox는 OAuth 2.0 권한 부여 코드 흐름과 그 증명 키 교환(PKCE) 확장을 지원하며, 클라이언트 비밀을 저장할 수 있는 앱과 저장할 수 없는 앱을 위한 서로 다른 구현 요구 사항이 있습니다.
권한 부여 코드 흐름
권한 부여 코드 흐름을 통해 클라이언트는 권한 부여 코드를 액세스 토큰 및 새로 고침 토큰으로 교환하여 권한 부여 프로세스를 완료합니다. 그 과정은 다음과 같은 단계로 이루어져 있습니다:
클라이언트는 Roblox 권한 부여 서버에 권한 부여 요청을 보냅니다.
권한 부여 서버는 리소스 소유자의 신원을 확인합니다.
권한 부여 서버는 리소스 소유자로부터 특정 Roblox 리소스에 대한 액세스 권한을 받습니다.
권한 부여 서버는 리소스 소유자를 클라이언트로 다시 리디렉션하며 권한 부여 코드를 제공합니다.
클라이언트는 토큰 엔드포인트에서 권한 부여 코드를 사용하여 액세스 토큰을 요청합니다.
클라이언트는 액세스 토큰, ID 토큰 및 새로 고침 토큰이 포함된 응답을 토큰 엔드포인트로부터 받습니다.
클라이언트는 액세스 토큰을 받은 후 허용된 리소스를 검색합니다.
다음 그림은 여러분이 다음 섹션에서 읽게 될 권한 부여 코드 흐름에서 역할 간의 상호 작용을 설명합니다:

PKCE와 함께하는 권한 부여 코드 흐름
PKCE 확장은 권한 부여 코드가 유출될 위험을 줄이고 사용자가 의도하지 않은 웹 요청을 제출하도록 속이는 공격인 크로스사이트 요청 위조(CSRF)를 방지하는 데 도움을 줍니다. 이 흐름은 다음과 같은 단계로 권한 부여 프로세스를 완료합니다:
클라이언트는 모든 권한 부여 요청에 대해 고유하고 암호학적으로 무작위인 키인 _코드 검증자_를 생성합니다.
클라이언트는 코드 검증자에 대해 SHA-256 해시 알고리즘을 실행하여 _코드 챌린지_를 생성합니다.
클라이언트는 Roblox 권한 부여 서버에 권한 부여 요청을 보냅니다.
권한 부여 서버는 리소스 소유자의 신원을 확인합니다.
권한 부여 서버는 리소스 소유자로부터 특정 Roblox 리소스에 대한 액세스 권한을 받습니다.
권한 부여 서버는 리소스 소유자를 클라이언트로 다시 리디렉션하며 권한 부여 코드를 제공합니다.
클라이언트는 토큰 엔드포인트에서 권한 부여 코드와 원래 코드 검증자를 포함하여 토큰 요청을 합니다.
권한 부여 서버는 권한 부여 코드와 연결된 코드 검증자를 확인합니다.
클라이언트는 액세스 토큰, ID 토큰 및 새로 고침 토큰이 포함된 응답을 토큰 엔드포인트로부터 받습니다.
클라이언트는 액세스 토큰을 받은 후 허용된 리소스를 검색합니다.
OpenID Connect 지원
Roblox는 인증을 위한 OAuth 2.0 프로토콜 위에 OpenID Connect (OIDC)를 아이덴티티 계층으로 사용하여 민감한 계정 정보를 보호합니다. OIDC는 애플리케이션이 사용자의 신원을 확인하고 사용자 ID, 사용자 이름, 표시 이름, 프로필 링크와 같은 기본 공개 프로필 정보를 얻을 수 있도록 합니다.
등록 및 구현
권한 부여 코드 흐름을 사용하는 웹 또는 모바일 앱을 구현하려면 다음이 필요합니다: