Added support for multiple authentication schemes
To use the client credentials, index.html needs to have
1. input boxes to receive client id and client secret
2. handlers that intitialise OAuth correctly on change.
For example, you could replace the explore and apikey inputs in the header with:
<div class='input'><input placeholder="client id" id="input_clientId" name="clientId" type="text" autocomplete="off"/></div>
<div class='input'><input placeholder="client secret" id="input_clientSecret" name="clientSecret" type="text" autocomplete="off"/></div>
and add the following javascript to handle updates within the initialisation block (replacing the apikey javascript):
function updateOauth(){
initOAuth({
clientId: $('#input_clientId')[0].value,
clientSecret: $('#input_clientSecret')[0].value,
realm: "blank",
appName: "blank"
});
}
$('#input_clientId').change(updateOauth);
$('#input_clientSecret').change(updateOauth);
These examples could be incorporated into the swagger index.html file if required (or a new example created)
Issues - displaying multiple schemes could be improved. Currently the UI is unaware that a particular scheme is required for a call so displays all scopes as options. Will require work on core swagger ui and templates to make scheme available to swagger-oauth.js
Added support for multiple authentication schemes
To use the client credentials, index.html needs to have
1. input boxes to recieve client id and client secret
2. handlers that intitialse OAuth correctly on change.
For example, you could replace the explore and apikey inputs in the header with:
<div class='input'><input placeholder="client id" id="input_clientId" name="clientId" type="text" autocomplete="off"/></div>
<div class='input'><input placeholder="client secret" id="input_clientSecret" name="clientSecret" type="text" autocomplete="off"/></div>
and add the following javascrip to handle updates within the initialisation block (replacing the apikey javascript):
function updateOauth(){
initOAuth({
clientId: $('#input_clientId')[0].value,
clientSecret: $('#input_clientSecret')[0].value,
realm: "blank",
appName: "blank"
});
}
$('#input_clientId').change(updateOauth);
$('#input_clientSecret').change(updateOauth);
See http://tools.ietf.org/html/rfc6749#section-3.3 for details.
The callback url is now determined correctly if the swagger index.html file and
therefore the o2c.html is not in root directory of the host.
Also the popup opens more than one authorization-request-tab in firefox
(seems to append the on-click js method instead of replacing it)