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

Authorization Headers are not supported #701

Open
bennycode opened this issue Aug 21, 2023 · 4 comments
Open

Authorization Headers are not supported #701

bennycode opened this issue Aug 21, 2023 · 4 comments
Labels
help wanted Extra attention is needed

Comments

@bennycode
Copy link
Contributor

I am trying to use api to make request to Alpaca. The Readme.io demo page shows me that I can add Authorization Headers for the API Key & API Secret. When I follow the example, my code crashes with the following message:

Error: Sorry, this operation currently requires multiple forms of authentication which this library doesn't yet support.

Here is the example:

import api from 'api';
const sdk = api('@testalpacadocs/v1#zryj16ll4d1dl0');

sdk.auth(process.env.API_KEY);
sdk.auth(process.env.API_SECRET);

await sdk.postOrder({side: 'buy', type: 'market', time_in_force: 'day'});

Screenshot

image

@erunion
Copy link
Member

erunion commented Aug 21, 2023

So yeah api does support authorization headers, but it doesn't support API endpoints that have multiple forms of auth because sdk.auth() has no way of knowing which security scheme, and authorization header, to apply that value to.

We've had some ideas on how to improve this, like adding a second argument to sdk.auth('API-KEY', 'x-api-key') to let you specify the header to attach it to but that conflicts with sdk.auth's handling of basic auth.

Will leave this open for discussion.

@erunion erunion added the help wanted Extra attention is needed label Aug 21, 2023
@bennycode
Copy link
Contributor Author

Getting this integrated would be a big enabler. Is there any workaround for me as a developer to set headers on the SDK? Can I access some internal variables or apply an interceptor to add the necessary header information?

@erunion
Copy link
Member

erunion commented Aug 21, 2023

There's unfortunately no workarounds at the moment.

@konhi
Copy link

konhi commented Jan 26, 2024

I use API that requires 2 secrets, so it's really a blocker in using this lib. At least workaround would be great 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants