in dotnet/space-translate/SpaceTranslate/WebHook/SpaceTranslateWebHookHandler.cs [32:51]
public override async Task<SpaceWebHookOptions> ConfigureRequestValidationOptionsAsync(SpaceWebHookOptions options, ApplicationPayload payload)
{
// When the payload has a clientId, configure request validation to use the signing key of the matching organization.
var clientId = payload.GetClientId();
var organization = await _db.Organizations.FirstOrDefaultAsync(it => it.ClientId == clientId);
if (organization != null)
{
options.ClientId = organization.ClientId;
options.ClientSecret = organization.ClientSecret;
options.ServerUrl = new Uri(organization.ServerUrl);
options.VerifySigningKey = new VerifySigningKeyOptions
{
IsEnabled = true,
EndpointSigningKey = organization.SigningKey
};
return options;
}
return await base.ConfigureRequestValidationOptionsAsync(options, payload);
}