Eu gerei um JavaScript SDK, mas não tenho certeza de como definir cabeçalhos de autenticação. Adoraria poder definir os cabeçalhos de autenticação usados para todas as solicitações futuras por meio de algum tipo de configuração de cabeçalhos padrão. Tentei definir ApiClient.defaultHeaders
como abaixo, mas sem sucesso:
Atualização: Eu atualizei o código abaixo mostrando uma maneira que tenho os cabeçalhos a serem adicionados às solicitações feitas por connAPI
, mas este código é definitivamente menos do que o ideal. Deve haver outra maneira de definir esses cabeçalhos de autenticação de uma forma mais flexível / programática.
import telnyxSDK from 'telnyx-sdk';
const connAPI = new telnyxSDK.ConnectionsApi();
connAPI.apiClient.defaultHeaders = {
'x-api-user': 'my-username',
'x-api-token': 'my-token'
};
let _payload = {
connection_name: 'test-name',
tech_prefix: 'test-prefix',
active: true
};
return connAPI.addConnection(_payload).then(function(data) {
console.log('API called successfully. Returned data: ' + data);
}, function(error) {
console.log(error);
});
A solicitação é feita, mas sem nenhum dos cabeçalhos de autenticação.
Por favor, avise, obrigado!
2.2.3 (via imagem docker swagger-codegen-cli)
https://api.telnyx.com/mission_control_docs
swagger-codegen generate -i https://api.telnyx.com/mission_control_docs -l javascript
@dganoff se sua especificação openapi / swagger contém a definição de segurança apropriada para endpoints, então a documentação gerada automaticamente deve conter os exemplos de código sobre como fazer a chamada apropriada.
Você teve a chance de revisar o documento gerado automaticamente no cliente JS API?
@ wing328 Sim, examinei a documentação de cada <Name>Api.md
e todos eles têm uma seção para "Autorização" que diz "Não é necessária autorização". Estou assumindo que é aqui que documentaria como definir os cabeçalhos de autenticação.
Estou me perguntando se as operações de path
s em nossa especificação de swagger precisam ter uma chave security
nelas?
Sim, você precisará adicionar security
à definição do endpoint, por exemplo, https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources /2_0/petstore.yaml#L183