google-api-nodejs-client icon indicating copy to clipboard operation
google-api-nodejs-client copied to clipboard

Identity Platform API is inconsistent in version and features with Google Cloud documentation

Open AaronFriel opened this issue 4 years ago • 5 comments

  1. Is this a client library issue or a product issue?

Yes?

  1. Did someone already solve this?

No.

  1. Do you have a support contract?

Yes, but this doesn't seem like a support issue.

If the support paths suggested above still do not result in a resolution, please provide the following details.

Environment details

  • OS: all
  • Node.js version: all
  • npm version: all
  • googleapis version: all

Steps to reproduce

  1. Look at Identity Platform documentation online and find that Google Cloud Platform only documents v1, v2: https://cloud.google.com/identity-platform/docs/reference/rest
  2. Load up this library, find that you can only access v3, which has a smaller API surface than v1 or v2 and doesn't support APIs like projects.updateConfig
  3. Be very confused, why are the API versions different, why doesn't projects.updateConfig have a v3 equivalent, et cetera, et cetera.

AaronFriel avatar Apr 21 '21 01:04 AaronFriel

Greetings @AaronFriel! That's super weird. We generate the APIs here based off of an index given to us by service teams: https://www.googleapis.com/discovery/v1/apis/

That list is only exposing v3, which is why it's the only one available in the library. Regardless - yeah, either the docs are wrong, or the discovery json we use. We're looking into this (b/185949125 for googlers)

JustinBeckwith avatar Apr 21 '21 01:04 JustinBeckwith

@JustinBeckwith appreciate it!

I'm on a team looking at automating IdentityPlatform usage and we want to also be able to programmatically (via API) get and set properties that appear only configurable via the v2 API. The documentation and API mismatch is very confusing!

Our business cases are around compliance (we don't want configuration drift) and automation/developer tooling (to spin up new environments via infrastructure as code).

AaronFriel avatar Apr 22 '21 01:04 AaronFriel

@JustinBeckwith it looks like the ticket I raised on the tracker publicly was closed with "Wont Fix", I'm curious if there's any intention to support APIs such as being able to set "allowDuplicateEmails" programmatically.

If the "getConfig" and "updateConfig" APIs of the v2 schema were made available, and they are documented but lack schema definition specified, I think this would solve the business need and enable automation via Terraform or other Infrastructure as Code tools.

Right now it's a manual process and we're unable to use the multi-tenant feature of Identity Platform for developer environments or enforce configuration against drift due to the lack of API support.

AaronFriel avatar Jul 27 '21 21:07 AaronFriel

Eugh. Unfortunately I have no inside knowledge on this API, or where they're looking to go with it. I will poke on the internal documentation bug I have and try to see what's up thought!

JustinBeckwith avatar Jul 27 '21 22:07 JustinBeckwith

Appreciate it, thank you!

AaronFriel avatar Jul 27 '21 23:07 AaronFriel

Confusingly, the "v3" schema is actually a legacy API surface. "v1" and "v2" are newer which is why they are documented on GCP docs. Their discovery docs are also published now.

https://identitytoolkit.googleapis.com/$discovery/rest?version=v2 https://identitytoolkit.googleapis.com/$discovery/rest?version=v1

chronologos avatar Oct 10 '22 22:10 chronologos

Any news on this? This is actually super confusing when trying to use this sdk

julienfouilhe avatar Jan 10 '23 07:01 julienfouilhe