Admin Auth API 소개

Firebase Admin SDK를 사용하면 자체 서버를 Firebase Authentication입니다. Firebase Admin SDK를 사용하여 사용자를 관리하거나 다음 작업을 할 수 있습니다. 인증 토큰 관리 Admin SDK에는 다음과 같은 장점이 있습니다.

사용자 관리

Firebase 콘솔 Firebase 사용자를 관리하세요. 관리자용 사용자 관리 API는 이러한 사용자에게 프로그래매틱 액세스를 제공합니다. 심지어 Firebase 콘솔의 기능 할 수 없음(예: 사용자의 전체 데이터를 가져오거나 비밀번호, 이메일 주소 또는 전화번호입니다.

커스텀 인증

외부 사용자 시스템을 Firebase와 통합할 수 있습니다. 대상 예를 들어 기존 사용자 데이터베이스가 이미 있거나 Firebase Authentication가 기본적으로 제공되지 않는 서드 파티 ID 공급업체와 통합 도움이 될 수 있습니다

이를 위해 사용자를 식별하는 임의의 클레임을 갖는 커스텀 토큰을 만들 수 있습니다. 그런 다음 이 커스텀 토큰을 사용하여 Firebase Authentication 서비스에 로그인할 수 있습니다. 토큰의 클레임에 기술된 ID를 가정합니다. 이 ID는 다른 Firebase에 액세스할 때 사용됩니다. 서비스(예: Cloud Storage)

ID 확인

Firebase Authentication는 주로 앱의 사용자를 식별하기 위해 사용됩니다. Cloud Storage 등의 다른 서비스에 액세스할 수 없습니다. 인증 서비스를 통해 내 서버에서 이러한 사용자를 식별할 수도 있습니다. 이 를 사용하면 서명한 사용자를 대신하여 서버 측 로직을 안전하게 수행할 수 있습니다. Firebase Authentication을(를) 사용하여

이를 위해 클라이언트에서 ID 토큰을 검색할 수 있습니다. Firebase Authentication로 로그인하고 이 토큰을 있습니다. 그런 다음 서버는 ID 토큰을 검증하고 사용자 (사용자가 로그인한 ID 공급업체인 uid 포함)를 식별합니다. 등). 서버는 사용자 대신 작업을 수행하는 데 이 ID 정보를 사용할 수 있습니다.

Firebase Admin SDK는 사용자를 관리하고, 사용자 인증 정보를 자동으로 생성하며, ID 토큰을 검증할 수 있습니다

커스텀 사용자 클레임

경우에 따라 세분화된 액세스 제어를 구현할 수 있습니다. 지원되는 Firebase 중 하나로 이미 로그인한 사용자의 경우 인증 제공업체(예: 이메일/비밀번호, Google, Facebook, 전화 등) 커스텀 사용자 클레임과 애플리케이션 보안 규칙의 조합으로 살펴봤습니다 예를 들어 사용자가 Firebase Authentication 이메일로 로그인하고 비밀번호 제공업체는 커스텀 클레임을 사용하여 액세스 제어를 정의할 수 있습니다.

사용자 관리

Firebase Admin SDK는 승격된 권한을 가진 사용자 Firebase명 관리자용 사용자 관리 API를 활용하면 사용자의 기존 인증 정보 없이도 클라이언트 측 비율 제한과 무관하게 프로그래매틱 방식으로 사용자를 검색, 생성, 업데이트, 삭제할 수 있습니다.

사용자 관리

커스텀 토큰 생성

커스텀 토큰을 생성하는 기본적인 목적은 사용자가 외부 또는 기존 인증 메커니즘을 통해 인증하는 방법을 제공하는 것입니다. 여러분의 타사 OAuth 공급자 등의 Instagram 또는 LinkedIn과 같이 Firebase는 기본적으로 지원되지 않습니다.

Firebase Admin SDK에는 사용할 수 있습니다 타사 JWT 라이브러리를 사용하여 어느 언어로든 프로그래매틱 방식으로 커스텀 토큰을 만들 수도 있습니다.

서버에서 고유 식별자 (uid)로 커스텀 토큰을 만들어야 합니다. 클라이언트 앱에 토큰을 전달하면, 앱은 이 토큰을 사용하여 Firebase입니다. 자세한 내용은 커스텀 토큰 만들기 를 참조하세요.

커스텀 토큰 만들기

ID 토큰 확인

Firebase 클라이언트 앱이 백엔드 서버와 통신하는 경우 현재 서버에 로그인되어 있는 사용자를 식별해야 할 수 있으므로 대신 서버 측 로직을 수행할 수 있습니다. 이렇게 하려면 사용자가 계정에 로그인할 때 Firebase에 의해 생성되는 ID 토큰 Firebase 앱 ID 토큰은 OpenID Connect 사양 및 여기에는 사용자를 식별하는 데이터와 기타 일부 프로필 및 인증 관련 정보 자체 백엔드에서 이러한 토큰을 전송, 확인, 검사할 수 있습니다. 이렇게 하면 현재 로그인한 사용자를 안전하게 식별하고 내 백엔드 리소스에 대한 권한을 부여할 수 있습니다.

Firebase Admin SDK에는 ID 토큰입니다. 타사 JWT 라이브러리를 사용하여 어느 언어로든 프로그래매틱 방식으로 ID 토큰을 확인할 수도 있습니다. 자세한 내용은 ID 토큰 확인 ID 토큰 검증 프로세스에 대한 자세한 내용과 코드 샘플을 참조하세요.

ID 토큰 확인

커스텀 사용자 클레임

Firebase Admin SDK를 사용하면 사용자 계정에 맞춤 속성을 설정할 수 있습니다. 커스텀 사용자 클레임으로 사용자에게 다양한 수준의 액세스 권한(역할)을 부여한 후 애플리케이션 보안 규칙에 적용하면 됩니다.

Firebase Admin SDK를 통해 사용자의 커스텀 클레임을 수정한 후에는 클라이언트 측의 인증된 사용자에게 ID 토큰을 통해 전파됩니다. ID 토큰은 이러한 커스텀 클레임을 제공하는 신뢰할 수 있는 메커니즘으로서 모든 인증된 액세스에서 관련 요청을 처리하기 전에 ID 토큰의 유효성을 검사해야 합니다.

커스텀 클레임으로 액세스 제어