Skip to content

Commit

Permalink
Add support of Bearer Basic Authorization to Ruby client (#2856)
Browse files Browse the repository at this point in the history
* Support for Bearer in Ruby Client

* Update README.mustache

* Update README.mustache

* Update api_doc.mustache

* Update api_doc.mustache

* Update api_doc.mustache

* samples

* Uncommited changes

* Formatting

* More Formatting

* Fomatting

* More formatting

* More formatting

* Even more formatting

* Even more formatting

* More formatting

* Even more formatting

* More formatting

* More formatting
  • Loading branch information
bopm authored and wing328 committed May 15, 2019
1 parent c353f79 commit 8741435
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,12 @@ Please follow the [installation](#installation) procedure and then run the follo
require '{{{gemName}}}'
{{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}}{{#hasAuthMethods}}
# Setup authorization
{{{moduleName}}}.configure do |config|{{#authMethods}}{{#isBasic}}
{{{moduleName}}}.configure do |config|{{#authMethods}}{{#isBasic}}{{^isBasicBearer}}
# 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 +130,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 @@ -27,10 +27,12 @@ Method | HTTP request | Description
require '{{{gemName}}}'
{{#hasAuthMethods}}
# setup authorization
{{{moduleName}}}.configure do |config|{{#authMethods}}{{#isBasic}}
{{{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
5 changes: 2 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,8 @@ 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

0 comments on commit 8741435

Please sign in to comment.