firebase-admin-node icon indicating copy to clipboard operation
firebase-admin-node copied to clipboard

auth.createUser() incorrect types: cannot link provider on account creation

Open brettwillis opened this issue 2 years ago • 0 comments

[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.

brettwillis avatar Feb 07 '24 20:02 brettwillis