我正在遵循本指南
https://docs.microsoft.com/en-us/azure/active-directory-b2c/rest-api-claims-exchange-dotnet
但是不建议使用该代码-最新版本的Net Core中不再存在IHttpActionResult
这意味着该响应类型现在会突出显示为错误
if (inputClaims.firstName.ToLower() == "test")
{
return Content(HttpStatusCode.Conflict, new B2CResponseContent("Test name is not valid, please provide a valid name", HttpStatusCode.Conflict));
}
我认为该方法应成为ActionResult并返回类似的结果
if (inputClaims.firstName.ToLower() == "test")
{
return Ok(new B2CResponseContent("Test name is not valid, please provide a valid name", HttpStatusCode.Conflict));
}
但是,如果执行此操作,则该策略只会忽略该错误并继续注册用户。
答案 0 :(得分:1)
您仍然必须返回HTTP状态码409(冲突)。 return Ok(..)
将始终返回状态码200。
返回响应的正确方法是:
if (inputClaims.firstName.ToLower() == "test")
{
return Conflict(new B2CResponseContent("Test name is not valid, please provide a valid name", HttpStatusCode.Conflict));
}
或
if (inputClaims.firstName.ToLower() == "test")
{
return StatusCode((int)System.Net.HttpStatusCode.Conflict, new B2CResponseContent("Test name is not valid, please provide a valid name", HttpStatusCode.Conflict));
}