Wir verwenden die Klasse OAuthAuthorizationServerProvider
, um die Autorisierung in unserer ASP.NET Web API App durchzuführen.Wie wird die Fehlermeldung von OAuthAuthorizationServerProvider angepasst?
Wenn der angegebene Benutzername und das Kennwort in GrantResourceOwnerCredentials
ungültig ist, wird der Anruf
context.SetError("invalid_grant", "The user name or password is incorrect.");
erzeugt folgendes Json Ergebnis:
{
"error": "invalid_grant",
"error_description": "The user name or password is incorrect."
}
Gibt es eine Möglichkeit, diesen Fehler Ergebnis anpassen?
Ich mag es mit Standard-Fehlermeldung Format macht konsistent in anderen Teilen der API verwendet:
{
"message": "Some error occurred."
}
Ist das möglich mit den OAuthAuthorizationServerProvider
zu erreichen?
Während unten die Antworten zeigen, wie dies zu tun, ich würde das warnen vor zu tun, als die Standardantwort entspricht die OAuth 2.0-Spezifikation zurück, während Ihre modifizierte Antwort würde nicht . Dies kann für interne APIs akzeptabel sein. Wenn diese API jedoch öffentlich zugänglich ist, möchten Sie wahrscheinlich die Spezifikation befolgen und keine neuen Konventionen erfinden. – Chris
Ich fand, dass diese Antworten nicht funktionieren und es scheint, dass die OAuth-Antwort mehr wie eine Standard-Web-API-Antwort aussieht, ist nicht so einfach, wie man meinen könnte. – Sam