You can reference existing fields from the IRequest object through any Request Filters or Session/Auth Event Hooks. Where you want to access and act on that info is up to you, if it’s required as part of Authentication then you’ll want to implement a new AuthProvider otherwise you may be able to add your custom logic in an Auth/Session Event hook.
The underlying HTTP Handler that executes the Authenticate Service is async but there’s no AuthProvider Authenticate() API that returns a Task.
If you just want to Create a Request DTO from Request Params you can do it with something like:
var reqParams = httpReq.GetFlattenedRequestParams();
var typeDeserializer = new StringMapTypeDeserializer(typeof(MyRequest));
Thanks. The event hooks looks like they wouldn’t work as we would need to do some things before OnAuthenticated as I’m assuming that is only called after a user is authenticated. Looks like we’ll need to go the custom AuthProvider.