我有一个WebAPI项目,我使用swagger UI来测试它们。现在我通过OAuth2(Auth0)保护了我的Apis,我正在寻求帮助,将承载令牌(或用户名/密码,理想情况下)传递给Api呼叫。请注意我的客户端在Angular JS中,我可以通过客户端访问安全的Apis。只需要找到一种通过Swagger测试Apis的方法。
非常感谢。
答案 0 :(得分:0)
您可以将自定义oAuth部分添加到您的Swagger UI,如下所示
然后将Authorization标头参数添加到所有安全的API中,例如
如果令牌API调用成功,则单击所有API的“获取令牌”更新授权参数。
<强>更新强>
要向Swagger UI添加自定义oAuth部分,请使用以下swagger UI配置注入javascript文件
swconfig.EnableSwaggerUi(c =>
{
c.DocExpansion(DocExpansion.List);
c.InjectJavaScript(thisAssembly, "Swagger.custom.js");
});
在document.ready上的custom.js文件中,将自定义html添加到ui以及其他代码来处理令牌API调用。
$(document).ready(function () {
if ($('#resource_OAuth').length == 0) {
var html = '<li id="resource_OAuth" class="resource">';
$('#resources').prepend(html);
$.get("/Swagger/swagger-oauth-section.html", function (data) {
$('#resource_OAuth').html(data);
});
}
//code to handle token API calls
});