firebase / firebase-js-sdk

Firebase Javascript SDK
https://firebase.google.com/docs/web/setup
Other
4.84k stars 889 forks source link

AuthProvider class lacks API to retrieve provider name #8584

Open ensonic opened 4 days ago

ensonic commented 4 days ago

Operating System

Any

Environment (if applicable)

Google Chrome 130.0.6723.58 (Official Build) (64-bit)

Firebase SDK Version

10.12.0

Firebase SDK Product(s)

Auth

Project Tooling

Angular

Detailed Problem Description

I configure a custom OIDC provider following https://firebase.google.com/docs/auth/web/openid-connect#before_you_begin

In my app we have a dialog for the user to choose the login provider to use. Since there are multiple OIDC providers I'd like to use human readble labels. When I create the provider with the provider-id, I would expect an api like provider.GetName() to retrieve that name that I specified when I created the provider.

The api docs don't list such an api: https://firebase.google.com/docs/reference/node/firebase.auth.AuthProvider

Steps and code to reproduce issue

See above.

google-oss-bot commented 4 days ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

ensonic commented 3 days ago

I've dumped the provider object and it does not seem to contain the information, so it is more that just adding api for it.

hsubox76 commented 3 days ago

Let me know if I am misunderstanding but I'm creating an OAuthProvider as the instructions in the guide doc you linked say to do and this seems to work?

import { OAuthProvider } from 'firebase/auth';

const provider = new OAuthProvider('custom name');
console.log(provider.providerId); // "custom name"
ensonic commented 2 days ago

providerId is e.g. oidc.my-provider´, but when creating the provider in firebase console I named it e.g. "My Provider". I'd like to access the display name to pt it on a button label. I can probably implement some reverse transform, but I won't be able to recover the original name in all cases (e.gMy Super-Providerbecomesoidc.my-super-provider` and I won't know which minus was a space and which a minus).