VerifyIdToken 방법에 존재하지 않 Auth 를 사용하여 입력 getAuth 에서 중포 기지/auth

0

질문

나를 따라하려고 노력하를 들어 주어진 여기 가 그것을 보여줍니다 다음 예제를 확인 ID 토큰:

// idToken comes from the client app
getAuth()
  .verifyIdToken(idToken)
  .then((decodedToken) => {
    const uid = decodedToken.uid;
    // ...
  })
  .catch((error) => {
    // Handle error
  });

내 코드는 다음과 같습니다:

function createFirebaseAdminApp(config: AppOptions) {
    if (getApps().length === 0) {
        return initializeApp(config);
    } else {
        return getApp();
    }
}

const options: AppOptions  = {
    credential: cert({
        projectId: process.env.FIREBASE_PROJECT_ID,
        clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
        privateKey:
            process.env.FIREBASE_PRIVATE_KEY != undefined
                ? process.env.FIREBASE_PRIVATE_KEY.replace(/\\n/g, "\n")
                : "",
    }),
    databaseURL: process.env.FIREBASE_DATABASE_URL,
};


const firebaseAdmin = createFirebaseAdminApp(options) as FirebaseApp;
const adminAuth = getAuth(firebaseAdmin);
adminAuth
    .verifyIdToken(token)
    .then((decodedToken) => {
        res.locals.decodedToken = decodedToken;
        next();
    })
            .catch(() => {
                next(new HttpError("Invalid token provided", 403));
            });

하지만 난 계속

Property'verifyIdToken'존재하지 않는 유형에서'인증'

나는 최신 버전의 중포 기지 패키지,나는 가정의 예에 의해 주어진 문서는 사용하는 고려 사용 getAuth다,그래서 말할 수 없어 제가 뭘 잘못하고 있어. 또한 난을 피하려고 섞는 중포 기지-관리자와 중포 기지,가 확실하지 않으면 이것은 올바른 경우 그러나 나는 그들을 혼합할 수 없습하는 것을 피하기 위해 초기화가 너무용 인스턴스가 있습니다.

어떤 도움을 주셔서 감사합니다!

1

최고의 응답

1

당신은 혼합 관리 SDK 하고 클라이언트 SDK.

문서 당신은 링크에 대한 관리 SDK 니다. 어떻게 알 수 있는 조직에서 섹션에 대한 관리. 그것은 사용하지 않 getAuth 어디에서나는 여기에 포함되지 않습니다. 관리 SDK 를 초기화하는 완전히 다르게 클라이언트 SDK,그리고 그것은 작동하지 않는 모든 브라우저입니다. 에서 실행하 보안 backens 니다.

클라이언트 SDK 사용하고 있는 없는 기능을 확인하는 토큰이 있습니다. 는 안전한 백엔드만을 사용하여 Adminn SDK.

2021-11-24 02:14:48

그렇다,나는 그것을 의심. 감사합니다. 그래서 백엔드 API 를 사용해야만 관리 SDK?
Lux

일반적으로 경우입니다. 클라이언트 SDK 은 정말에 대해서만 만들고 서명에 사용자가 웹/모바일 응용 프로그램입니다.
Doug Stevenson

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................