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);
(and modifying and looking again at those specs iteratively)
new gulp targets:
dev-dist: [lint, copy] (this runs the same code in dist, but without doing a clean first)
dev: [default, serve] (the task to run if you're iteratively making changes and don't want/need the dist directory to be regenerated every time)