influxdata / influxdata/influxdb-client-python
Token authentication for influx1.8 not working?
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 793
- Forks
- 186
- Merge moyen
- 3 h 2 min
- PR mergées (30 j)
- 1
Description
Specifications
- Client Version: 1.35.0
- InfluxDB Version: 1.8.2
- Platform: Ubuntu 20.04.5 LTS
Code sample to reproduce problem
client = InfluxDBClient(
url=influx_url,
verify_ssl=False,
token=influx_token,
debug=True
)
where influx_token is jwt token in string format. example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzAxODIwODAwfQ.LraKXlamiE9pr0owDgSdDt3FMKR3pVNolLVxm4ULG-8"
Used following payload when generating jwt:
{
"username": "admin",
"exp": 1701820800
}
Expected behavior
Should authenticate using token in V2 client. Use of same token in V1 python client works fine. Am I missing something required to parse the token before feeding it to the InfluxDBClient instantiation in V2 python client?
Actual behavior
I receive a parsing error for the token authentication:
[2023-01-06 16:23:27,933] [7642] [ERROR] [influx_connector.py:154] InfluxDB Error: (401)
Reason: Unauthorized
HTTP response headers: HTTPHeaderDict({'Content-Type': 'application/json', 'Request-Id': 'be28dbc8-8e10-11ed-800a-0242ac130003', 'Www-Authenticate': 'Basic realm="InfluxDB"', 'X-Influxdb-Build': 'OSS', 'X-Influxdb-Version': '1.8.3', 'X-Request-Id': 'be28dbc8-8e10-11ed-800a-0242ac130003', 'Date': 'Fri, 06 Jan 2023 22:23:27 GMT', 'Content-Length': '55'})
HTTP response body: b'{"error":"unable to parse authentication credentials"}\n'
Additional info
If I change how I feed the token parameter to something like below, the error changes to:
Reason: Unauthorized
HTTP response headers: HTTPHeaderDict({'Content-Type': 'application/json', 'Request-Id': '64052e35-8e0d-11ed-8032-0242ac130003', 'Www-Authenticate': 'Basic realm="InfluxDB"', 'X-Influxdb-Build': 'OSS', 'X-Influxdb-Version': '1.8.3', 'X-Request-Id': '64052e35-8e0d-11ed-8032-0242ac130003', 'Date': 'Fri, 06 Jan 2023 21:59:28 GMT', 'Content-Length': '33'})
HTTP response body: b'{"error":"authorization failed"}\n
This leads me to believe something more than just passing the token itself as a string is the problem I'm having. Are there other parameters required when using the token. Do I need to add/edit something to the token string itself?
client = InfluxDBClient(
url=influx_url,
verify_ssl=False,
token=f'{influx_user}:{influx_token}',
debug=True
)
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le point d’entrée InfluxDBClient en utilisant le paramètre token et reproduisez la réponse 401 contre InfluxDB 1.8.2 ou 1.8.3 avec le JWT fourni et les deux formes du token. Comparez la requête d’authentification du client V2 avec les identifiants attendus par le serveur ; le travail est terminé lorsque l’utilisation prise en charge ou l’incompatibilité est confirmée et que le comportement est corrigé ou documenté.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- authentication, databases
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100