Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Token authentication for influx1.8 not working? #551

Open
us319348 opened this issue Jan 6, 2023 · 1 comment
Open

Token authentication for influx1.8 not working? #551

us319348 opened this issue Jan 6, 2023 · 1 comment
Labels
bug Something isn't working

Comments

@us319348
Copy link

us319348 commented Jan 6, 2023

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
                    )
@us319348 us319348 added the bug Something isn't working label Jan 6, 2023
@Pitastic
Copy link

token should be influx_user:influx_password not the real token.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants