주어진 userId가 존재하지 않으면 사용자를 생성하는 firebase 서버 측 (firebase 기능) 코드가 있습니다.존재하지 않는 사용자를 생성 할 때 uid-already-exist 오류
대개 정상적으로 작동하지만 거의 실패하지 않습니다.
function createUserIfNotExist(userId, userName) {
admin.auth().getUser(userId).then(function (userRecord) {
return userRecord;
}).catch(function (error) {
return admin.auth().createUser({
uid: userId,
displayName: userName,
})
})
}
주어진 userId를 존재하지 않는
는 admin.auth(). 인 getUser()는 그래서 admin.auth().는 createUser(){ code: 'auth/user-not-found', message: 'There is no user record corresponding to the provided identifier.' }
을 던져 캐치 절이라고합니다. 그러나 다음 오류로 인해 때때로 실패합니다.
{ Error: The user with the provided uid already exists.
at FirebaseAuthError.Error (native)
at FirebaseAuthError.FirebaseError [as constructor] (/user_code/node_modules/firebase-admin/lib/utils/error.js:39:28)
at new FirebaseAuthError (/user_code/node_modules/firebase-admin/lib/utils/error.js:104:23)
at Function.FirebaseAuthError.fromServerError (/user_code/node_modules/firebase-admin/lib/utils/error.js:128:16)
at /user_code/node_modules/firebase-admin/lib/auth/auth-api-request.js:399:45
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
errorInfo:
{ code: 'auth/uid-already-exists',
message: 'The user with the provided uid already exists.' } }
내 코드에 Firebase 버그가 있습니까?
UID는 무작위 적이기 때문에 아직 존재하지 않는 사용자의 UID는 어떻게 얻습니까? 나는. 이 값들은'createUserIfNotExist'를 호출 할 때 어디서 오는가? –
@ FrankvanPuffelen UID는 타사 인증 (facebook messenger platform)에 의해 생성됩니다. 우리는 사용자 정의 인증을 사용합니다. – grayger