我试图在 ServiceStack.net 中实现一个 CustomAuthProvider。我需要使用第三个参数扩展用户名/密码。(让我们称它为 apikey)我也希望这个作为 application/json 接受帖子
public override bool TryAuthenticate(ServiceStack.ServiceInterface.IServiceBase authService, string userName, string password)
{
if (String.IsNullOrEmpty(userName) || String.IsNullOrEmpty(password))
return false;
var httpReq = authService.RequestContext.Get<IHttpRequest>();
string apiKey = httpReq.GetParam("apikey");
if (String.IsNullOrEmpty(apiKey))
return false;
var engine = Helpers.DbHelper.GetEngine();
return engine.Account.ValidateApiKey(userName, password, apiKey);
}
我的有效载荷看起来像
{
"UserName"="my.user",
"Password"="$thePassword!1",
"Apikey"="theapikey"
}
用户名和密码到达 TryAuthenticate() 但 apikey 始终为空。如果我以表格形式发布,上述工作正常。我确定我错过了一些东西,或者对如何做到这一点有一个完全错误的想法。我是 ServiceStack 的新手,但在一周的大部分时间里一直在查看示例和文章。:( 任何建议表示赞赏。
注意:我使用 Advance Rest Client Chrome 扩展作为我的测试。