B2 C пользовательская политика «игнорирование» обмена претензиями - PullRequest
0 голосов
/ 20 марта 2020

Я следую этому руководству

https://docs.microsoft.com/en-us/azure/active-directory-b2c/rest-api-claims-exchange-dotnet

Однако код устарел - IHttpActionResult больше не существует в последней версии Net Core

Это означает, что этот тип ответа теперь выделяется как ошибка.

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));
        }

Однако, если Я делаю это, политика просто игнорирует ошибку и продолжает регистрацию пользователя

Может кто-нибудь помочь?

1 Ответ

1 голос
/ 21 марта 2020

Вам все еще нужно вернуть код состояния 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));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...