Interactive brokers OAuth1.0 header fields problem.

2 visualizaciones (últimos 30 días)
Ken Brown
Ken Brown el 10 de Oct. de 2021
Comentada: Geoff Hayes el 18 de Oct. de 2021
Good day, I need help formatting header fields.
For Interactive brokers the OAuth requests require a header with the name “Authorization”. The authorization header must start with the string “OAuth”. Following "OAuth", it has to contain key/value pairs separated by comma. the key/value pairs include the consumer_key, timestamp, oauth_nonce, callback_URI... to name a few.
My problem is the initial format of the header.
I've used web options, to set the fields, but this does not send the data in the format Interactive Brokers want.
An example of how interactive brokers want the data is
authorization: OAuth realm="test_realm", oauth_callback="oob", oauth_consumer_key="TESTCONS", oauth_nonce="
3Xa0XhqFEoXbifYZUeflx6svQUDQsgB4",...
I have also used: field = matlab.net.http.HeaderField('Authorization','OAuth');
to set up the headerfields, but this does not allow for the space between OAuth and realm. in the header string.
Is there a way to format this using Matlab tools?
  3 comentarios
Ken Brown
Ken Brown el 17 de Oct. de 2021
@Geoff Hayes I am using the reference material from Interactive Brokers (IB).
I am getting Error 400 Bad request. I dont think its the Data i am sending but the format.
Please see page 6 of the attachment as an example of the HTTP request required for IB.
Geoff Hayes
Geoff Hayes el 18 de Oct. de 2021
@Ken Brown - I see from page six the following:
Authorization: OAuth oauth_callback="oob", \
oauth_consumer_key="TESTCONS", \ oauth_nonce="fcbc9c08d69ac269f7f1", \ oauth_signature="nHp...AA%3D%3D", \ oauth_signature_method="RSA-SHA256", \ oauth_timestamp="1473793701", \ realm="test_realm"
Could you create the authorization text as
authzText = 'OAuth oauth_callback="oob", oauth_consumer_key="TESTCONS", oauth_nonce="fcbc9c08d69ac269f7f1", oauth_signature="nHp...AA%3D%3D", oauth_signature_method="RSA-SHA256", oauth_timestamp="1473793701", realm="test_realm"'
and then create the header field as
field = matlab.net.http.HeaderField('Authorization', authzText);
where authzText is the properly formatted string that has the correct spaces between each field?

Iniciar sesión para comentar.

Respuestas (0)

Productos


Versión

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by