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

Add support for passing tokens as plaintext strings in addition to tokens file #102

Merged
merged 3 commits into from
Dec 7, 2023
Merged

Add support for passing tokens as plaintext strings in addition to tokens file #102

merged 3 commits into from
Dec 7, 2023

Conversation

milankinen
Copy link
Contributor

@milankinen milankinen commented Nov 15, 2023

Hello!

This PR proposes an API key support to the iqm-client.

In this proposal, the used plaintext tokens will use the same bearer token authentication schema as the external access token. The only difference is that direct access tokens don't need to be JWT tokens: they can be any arbitrary strings managed by the server and user doesn't need to know any details about their semantics. Server is responsible for the identifying which token is provided and select the authentication mechanism accordingly.

Backwards compatibility

Plaintext token will only be used if it's set by the user (either via constructor arguments or via environment variable) and tokens_file is not set, so old clients will work normally and no modifications are required for the existing installations. Servers that do not support the new token type will them and servers that support it will process them correctly.

@milankinen milankinen changed the title Add support for API key authentication Add support for passing tokens as plaintext strings instead of using tokens file Nov 24, 2023
@milankinen milankinen changed the title Add support for passing tokens as plaintext strings instead of using tokens file Add support for passing tokens as plaintext strings in addition to tokens file Nov 24, 2023
INTEGRATION_GUIDE.rst Outdated Show resolved Hide resolved
INTEGRATION_GUIDE.rst Outdated Show resolved Hide resolved
INTEGRATION_GUIDE.rst Outdated Show resolved Hide resolved
Copy link
Contributor

@olliahonen olliahonen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See individual comments 👍

@kukushechkin
Copy link
Contributor

Change log update is necessary.

INTEGRATION_GUIDE.rst Outdated Show resolved Hide resolved
INTEGRATION_GUIDE.rst Outdated Show resolved Hide resolved
INTEGRATION_GUIDE.rst Outdated Show resolved Hide resolved
Matti Lankinen added 3 commits December 7, 2023 13:17
Authentication with direct token will use the same bearer token authentication schema as the
external access token. The only difference is that direct access tokens don't need to be
JWT tokens: they can be any arbitrary strings managed by the server and user doesn't need
to know any details about their semantics. Server is responsible for the identifying which
token is provided and select the authentication mechanism accordingly.

Backwards compatibility:

Plaintext token will only be used if it's set by the user (either via constructor arguments
or via environment variable) AND tokens_file is not defined, so old clients will work normally
and no modifications are required for the existing installations. Servers that do not support
the new token type will them and servers that support it will process them correctly.
Copy link
Contributor

@olliahonen olliahonen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@kukushechkin kukushechkin merged commit e7cb4b8 into iqm-finland:main Dec 7, 2023
10 checks passed
@milankinen milankinen deleted the feat/api-key-support branch December 8, 2023 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants