Guest 인증 공급자(Guest Authentication Provider)
대상: 관리자 또는 개발자
출처: 문서
본문
대상: 관리자 또는 개발자
요약
이 가이드의 목표는 토큰을 발행하는 guest 인증 공급자를 설정하는 것입니다. 이는 순전히 프론트엔드에 저장되고 토큰이 없는 기존 guest 인증과 다릅니다. 이 공급자를 사용하려는 주된 이유는 권한이 있는 플러그인(permissioned plugins)을 사용하기 위해서입니다.
caution
이 공급자는 오직 development에서만 활성화해야 합니다. 데이터에 대한 무단 접근을 방지하기 위해, 이 패키지는 비개발 환경에서 명시적으로 비활성화되어 있습니다.
설치
백엔드
백엔드 설치에 @backstage/plugin-auth-backend-module-guest-provider를 추가하세요.
Backstage 루트 디렉토리에서
yarn --cwd packages/backend add @backstage/plugin-auth-backend-module-guest-provider
그런 다음 백엔드 소스에 추가합니다.
packages/backend/src/index.ts
const backend = createBackend();backend.add(import('@backstage/plugin-auth-backend'));backend.add(import('@backstage/plugin-auth-backend-module-guest-provider'));await backend.start();
프론트엔드
SignInPage providers에 다음을 추가하세요.
const providers = [ 'guest', ...]
구성
다른 인증 공급자와 마찬가지로 구성에서 공급자를 활성화해야 합니다. app-config.local.yaml에 다음을 추가하세요.
app-config.local.yaml
auth: providers: guest: {}
위의 내용이 guest 공급자로 작업하기 위해 필요한 전부입니다. 그러나 필요하다면 다음과 같은 추가 구성을 할 수도 있습니다.
app-config.local.yaml
auth: providers: guest: userEntityRef: user:default/john-smith ownershipEntityRefs: [group:default/smith-family] dangerouslyAllowOutsideDevelopment: false
userEntityRef는 guest 사용자의 엔티티 참조로 사용되며, ownershipEntityRefs는 사용자가 카탈로그에서 발견되지 않을 때 guest 사용자의 소유권에 사용할 엔티티 참조 목록입니다.
dangerouslyAllowOutsideDevelopment 플래그는 사용자가 개발 환경 밖, 예를 들어 프로덕션에서 guest 공급자로 로그인할 수 있게 허용하는 데 사용됩니다.
이 정보는 구성 파일을 보면 확인할 수 있습니다.