public override async Task ConfigureRequestValidationOptionsAsync()

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);
    }