Мы используем класс OAuthAuthorizationServerProvider
для авторизации в нашем приложении ASP.NET Web Api.Как настроить сообщение об ошибке OAuthAuthorizationServerProvider?
Если прилагаемая имя пользователя и пароль неверен в GrantResourceOwnerCredentials
, вызов
context.SetError("invalid_grant", "The user name or password is incorrect.");
Производит следующий JSon результат:
{
"error": "invalid_grant",
"error_description": "The user name or password is incorrect."
}
Есть ли способ, чтобы настроить этот результат ошибки?
Я хотел бы сделать это в соответствии с форматом сообщения об ошибке по умолчанию, используемые в других частях API:
{
"message": "Some error occurred."
}
Это можно достичь с помощью OAuthAuthorizationServerProvider
?
Хотя приведенные ниже ответы показывают, как это сделать, я хотел бы предостеречь против делать это, как ответ по умолчанию возвращается в соответствии со спецификацией OAuth 2.0, в то время как ваш измененная реакция не будет , Это может быть приемлемо для API только для внутреннего использования. Однако, если этот API общедоступен, вы, вероятно, захотите следовать спецификации и не изобретать новые соглашения. – Chris
Я обнаружил, что эти ответы не работают, и кажется, что ответ OAuth больше похож на стандартный ответ Web API не так прост, как можно было бы подумать. – Sam