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 of Bearer Basic Authorization to Ruby client #2856

Merged
merged 19 commits into from
May 15, 2019
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,12 @@ require '{{{gemName}}}'
{{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}}{{#hasAuthMethods}}
# Setup authorization
{{{moduleName}}}.configure do |config|{{#authMethods}}{{#isBasic}}
{{^isBasicBearer}}
bopm marked this conversation as resolved.
Show resolved Hide resolved
# Configure HTTP basic authorization: {{{name}}}
config.username = 'YOUR USERNAME'
config.password = 'YOUR PASSWORD'{{/isBasic}}{{#isApiKey}}
config.username = 'YOUR_USERNAME'
config.password = 'YOUR_PASSWORD'{{/isBasicBearer}}{{#isBasicBearer}}
# Configure Bearer authorization{{#bearerFormat}} ({{{.}}}){{/bearerFormat}}: {{{name}}}
config.access_token = 'YOUR_BEARER_TOKEN'{{/isBasicBearer}}{{/isBasic}}{{#isApiKey}}
# Configure API key authorization: {{{name}}}
config.api_key['{{{keyParamName}}}'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
Expand Down Expand Up @@ -128,7 +131,10 @@ Class | Method | HTTP request | Description
- **API key parameter name**: {{keyParamName}}
- **Location**: {{#isKeyInQuery}}URL query string{{/isKeyInQuery}}{{#isKeyInHeader}}HTTP header{{/isKeyInHeader}}
{{/isApiKey}}
{{#isBasic}}- **Type**: HTTP basic authentication
{{#isBasic}}
{{^isBasicBearer}}- **Type**: HTTP basic authentication
{{/isBasicBearer}}{{#isBasicBearer}}- **Type**: Bearer authentication{{#bearerFormat}} ({{{.}}}){{/bearerFormat}}
{{/isBasicBearer}}
{{/isBasic}}
{{#isOAuth}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,12 @@ require '{{{gemName}}}'
{{#hasAuthMethods}}
# setup authorization
{{{moduleName}}}.configure do |config|{{#authMethods}}{{#isBasic}}
{{^isBasicBearer}}
# Configure HTTP basic authorization: {{{name}}}
config.username = 'YOUR USERNAME'
config.password = 'YOUR PASSWORD'{{/isBasic}}{{#isApiKey}}
config.password = 'YOUR PASSWORD'{{/isBasicBearer}}{{#isBasicBearer}}
# Configure Bearer authorization{{#bearerFormat}} ({{{.}}}){{/bearerFormat}}: {{{name}}}
config.access_token = 'YOUR_BEARER_TOKEN'{{/isBasicBearer}}{{/isBasic}}{{#isApiKey}}
# Configure API key authorization: {{{name}}}
config.api_key['{{{keyParamName}}}'] = 'YOUR API KEY'
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,13 +199,27 @@ module {{moduleName}}
},
{{/isApiKey}}
{{#isBasic}}
{{^isBasicBearer}}
'{{name}}' =>
{
type: 'basic',
in: 'header',
key: 'Authorization',
value: basic_auth_token
},
{{/isBasicBearer}}
{{#isBasicBearer}}
'{{name}}' =>
{
type: 'bearer',
in: 'header',
{{#bearerFormat}}
format: '{{{.}}}',
{{/bearerFormat}}
key: 'Authorization',
value: "Bearer #{access_token}"
},
{{/isBasicBearer}}
{{/isBasic}}
{{#isOAuth}}
'{{name}}' =>
Expand Down
2 changes: 1 addition & 1 deletion samples/openapi3/client/petstore/ruby/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ Class | Method | HTTP request | Description

### bearer_test

- **Type**: HTTP basic authentication
- **Type**: Bearer authentication (JWT)

### http_basic_test

Expand Down
6 changes: 3 additions & 3 deletions samples/openapi3/client/petstore/ruby/docs/FakeApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -547,9 +547,9 @@ Fake endpoint to test group parameters (optional)
require 'petstore'
# setup authorization
Petstore.configure do |config|
# Configure HTTP basic authorization: bearer_test
config.username = 'YOUR USERNAME'
config.password = 'YOUR PASSWORD'

# Configure Bearer authorization (JWT): bearer_test
config.access_token = 'YOUR_BEARER_TOKEN'
end

api_instance = Petstore::FakeApi.new
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,10 +212,11 @@ def auth_settings
},
'bearer_test' =>
{
type: 'basic',
type: 'bearer',
in: 'header',
format: 'JWT',
key: 'Authorization',
value: basic_auth_token
value: "Bearer #{access_token}"
},
'http_basic_test' =>
{
Expand Down