我一直在关注许多来源,尝试在我的WebApi2项目中实施JWT身份验证,并且还开始使用swagger.io和Swashbuckle来记录和测试我的API。我已经受到exceptionless支持<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
<div class="moduletable_menu_navigationbar">
<ul class="menu">
<li id="current" class="active item8"><a href="http://localhost/html/"><span>Banca Personas</span></a></li>
<li class="item9"><a href="/html/banca-pyme.html"><span>Banca Pyme</span></a></li>
<li class="item10"><a href="/html/banca-empresas.html"><span>Banca Empresas</span></a></li>
<li class="item602"><a href="/html/bankard.html"><span>Bankard</span></a></li>
</ul>
</div>
<div class="moduletable_gfbb_navigationbar">
<ul class="menu">
<li class="item12"><a href="/informacion-institucional.html"><span>Informacion Institucional</span></a></li>
</ul>
</div>
</nav>
方法生成/auth/login
的方式的启发,然后用于调用其他需要授权的方法。
我还应该说我的开发基于ASP.NET Web API 2一书,该书使用api_key
包引入了基于令牌的安全性,因此我按照以下方式为我实现了JWT委托处理程序:
JwtAuthForWebAPI
(我已经设置了web.config凭据,代码已经很好了)
问题是:
// Add Jwt Authentication Web Handler
var builder = new SecurityTokenBuilder();
var reader = new ConfigurationReader();
GlobalConfiguration.Configuration.MessageHandlers.Add(
new JwtAuthenticationMessageHandler
{
AllowedAudience = reader.AllowedAudience,
Issuer = reader.Issuer,
SigningToken = builder.CreateFromKey(reader.SymmetricKey),
//SigningToken = builder.CreateFromKey(reader.SubjectCertificateName),
CookieNameToCheckForToken = reader.CookieNameToCheckForToken
});
后调用方法时,swagger将密钥放在查询字符串上,而不是放在&#34; Bearer&#34;授权标题api_key
失败。我想我现在的问题是解决上面的第1项,这将使2成为非问题,并且(希望)使4工作!感谢。