Ответ 1
На основе текущей реализации OAuthAuthorizationServerHandler
вы не можете.
private async Task InvokeTokenEndpointAsync()
{
DateTimeOffset currentUtc = Options.SystemClock.UtcNow;
// remove milliseconds in case they don't round-trip
currentUtc = currentUtc.Subtract(TimeSpan.FromMilliseconds(currentUtc.Millisecond));
IFormCollection form = await Request.ReadFormAsync();
var clientContext = new OAuthValidateClientAuthenticationContext(
Context,
Options,
form);
await Options.Provider.ValidateClientAuthentication(clientContext);
if (!clientContext.IsValidated)
{
_logger.WriteError("clientID is not valid.");
if (!clientContext.HasError)
{
clientContext.SetError(Constants.Errors.InvalidClient);
}
await SendErrorAsJsonAsync(clientContext);
return;
}
var tokenEndpointRequest = new TokenEndpointRequest(form);
}
Итак, чтобы попытаться это сделать, вам необходимо предоставить собственную реализацию OAuthAuthorizationServerMiddleware
, которая перегружает CreateHandler
, чтобы вы могли предоставить свою собственную реализацию AuthenticationHandler<OAuthAuthorizationServerOptions>