| 177 | } |
| 178 | |
| 179 | function getClaimsObjectValidator(requiredClaims: Claims): ClaimsValidator { |
| 180 | return function claimsObjectValidator(userClaims) { |
| 181 | const errors: { [key: string]: ReactFireError[] } = {}; |
| 182 | |
| 183 | Object.keys(requiredClaims).forEach((claim) => { |
| 184 | if (requiredClaims[claim] !== userClaims[claim]) { |
| 185 | errors[claim] = [new ReactFireError('auth/missing-claim', `Expected "${requiredClaims[claim]}", but user has "${userClaims[claim]}" instead`)]; |
| 186 | } |
| 187 | }); |
| 188 | |
| 189 | return { |
| 190 | hasRequiredClaims: Object.keys(errors).length === 0, |
| 191 | errors, |
| 192 | }; |
| 193 | }; |
| 194 | } |
| 195 | |
| 196 | /** |
| 197 | * @deprecated Use `useSigninCheck` instead |