{
"a0": {
"google" : {
"clientId": "legacy-web-client-id",
"clientSecret": "legacy-web-client-secret",
"redirectUris": {
"sso_auth": "https://web.example.com/auth/callback"
},
"mobile": {
"android": {
"clientId": "android-prod-client-id",
},
"ios": {
"clientId": "ios-prod-client-id",
}
}
},
"ADM_USERS" : [
{
"email": "admL1@bitfinex.com",
"password": "example123",
"level": 1
},
{
"email": "admL2@bitfinex.com",
"password": "example123",
"level": 2
},
{
"email": "google@bitfinex.com",
"password": false,
"level": 0
}
]
}
}
- Security: Token
aud(audience) is the source of truth -clientKeyis just a hint clientKey(optional) can be sent by frontend/mobile to indicate which client to use (e.g.androidProd)- The backend validates the Google token's
audfield and maps it to a configured client ID - If
clientKeyis provided, it must match the token'saud- otherwise request is rejected - Resolution order:
audmatch →clientKey→webClient(from rootgoogle.clientId)