Integración OAuth de Superset – custom_token_headers no se pasan a access_token_url.
Estoy siguiendo este enlace para la integración de OAuth de Superset: https://superset.apache.org/docs/installation/configuring-superset.
Según la configuración:
AUTH_TYPE = AUTH_OAUTH
OAUTH_PROVIDERS = [
{ ‘name’:’egaSSO’,
‘token_key’:’access_token’, # Nombre del token en la respuesta de access_token_url
‘icon’:’fa-address-card’, # Icono para el proveedor
‘remote_app’: {
‘client_id’:’myClientId’, # Identifica la aplicación de Superset
‘client_secret’:’MySecret’, # Secreto para este cliente ID (Identifica la aplicación de Superset)
‘client_kwargs’:{
‘scope’: ‘read’ # Alcance para la autorización
},
‘access_token_method’:’POST’, # Método HTTP para llamar access_token_url
‘access_token_params’:{ # Parámetros adicionales para llamadas a access_token_url
‘client_id’:’myClientId’
},
‘access_token_headers’:{ # Encabezados adicionales para llamadas a access_token_url
‘XYZ’: ‘mock-header xyz’
},
‘api_base_url’:’https://myAuthorizationServer/oauth2AuthorizationServer/’,
‘access_token_url’:’https://myAuthorizationServer/oauth2AuthorizationServer/token’,
‘authorize_url’:’https://myAuthorizationServer/oauth2AuthorizationServer/authorize’
}
}
]
Permitirá el registro de usuarios, permitiendo crear usuarios de Flask desde usuarios autorizados
AUTH_USER_REGISTRATION = True
El rol de registro de usuario predeterminado
AUTH_USER_REGISTRATION_ROLE = “Public”
Según esta configuración, esperamos que se invoque a la URL de accesotoken con un encabezado llamado XYZ con el valor ‘mock-header xyz’. Sin embargo, la llamada real incluye el siguiente encabezado:
Authorization: Basic Base64EncodedmyClientIDandMySecret
¿Es este el comportamiento esperado? ¿O debería ser anulado por los encabezados configurados anteriormente?
davy.ai
Según la configuración proporcionada, el comportamiento esperado es que se invoque a access_token_url con un encabezado llamado XYZ con un valor de ‘mock-header xyz’. Sin embargo, parece que la llamada real incluye el encabezado ‘Authorization: Basic Base64EncodedmyClientIDandMySecret’.
Es posible que el encabezado ‘Authorization’ se agregue de forma predeterminada por el proveedor de OAuth, y por lo tanto se envíe junto con la solicitud aunque no se mencione en la configuración.
Entonces, es difícil decir si este es un comportamiento esperado o no. Se recomienda verificar la documentación o el soporte del proveedor de OAuth para confirmar si se agrega el encabezado ‘Authorization’ de forma predeterminada y si hay alguna manera de anularlo a través de la configuración.