あなたが実行されるカスタムJavaScriptを追加することができますし、それが3Dパーティのサービスへの呼び出しを行うと、としてそれを追加します。
次に、あなたは次のようにクラスを追加することで設定することができますカスタムトークン。
すでにstackoverflowに重複があります。 これを試すこともできますpostも同様です。
これは、あなたがjsファイルを追加する方法です:
c.InjectJavaScript(thisAssembly, "SwashbuckleCustomAuth.CustomContent.basic-auth.js");
そして、これは、1の例である:
$('#explore').off();
$('#explore').click(function() {
var key = $('#input_apiKey')[0].value;
var credentials = key.split(':'); //username:password expected
$.ajax({
url: "yourAuthEndpoint",
type: "post",
contenttype: 'x-www-form-urlencoded',
data: "grant_type=password&username=" + credentials[0] + "&password=" + credentials[1],
success: function (response) {
var bearerToken = 'Bearer ' + response.access_token;
window.swaggerUi.api.clientAuthorizations.add('Authorization', new SwaggerClient.ApiKeyAuthorization('Authorization', bearerToken, 'header'));
window.swaggerUi.api.clientAuthorizations.remove("api_key");
alert("Login successfull");
},
error: function (xhr, ajaxoptions, thrownerror) {
alert("Login failed!");
}
});
});
P.S.申し訳ありませんが、他の回答には既に同じ投稿への参照があることに気付かなかった。しかし、どこかに詳細があるので投稿があります。
多くの感謝! - 一つの見解は、全体のコントローラではなく、すべてのコントローラのアクションに[Authorize]を入れなければならないということです。 –