firebase-admin-node
firebase-admin-node copied to clipboard
auth.createUser() incorrect types: cannot link provider on account creation
[REQUIRED] Step 2: Describe your environment
- Operating System version: N/A
- Firebase SDK version: 12.0.0
- Firebase Product: auth
- Node.js version: N/A
- NPM version: N/A
[REQUIRED] Step 3: Describe the problem
The types for auth.createUser() (i.e. CreateRequest) inherit from UpdateRequest and therefore inherit types for providerToLink and providersToUnlink. However these parameters are not supported (they are ignored) by the underlying POST /accounts REST API.
https://github.com/firebase/firebase-admin-node/blob/910460d213f276df955442119ac90083e2836c6b/src/auth/auth-config.ts#L234
This is a misrepresentation. Based on the REST API, provider credentials cannot be linked while creating an account, only on a subsequent POST /accounts:update request.
While we're at it the UpdateRequest type does not include custom claims, which is supported by the /accounts:update REST API. See #1882.