Self hosted server error on authentication in IUserAuthenticationService

Hi,

I’m trying to trial your self-hosted words-cloud instance but when submitting a request (.NET nuget package) the server throws an error when the library calls /connect/token

Stacktrace:

fail: Aspose.Words.Cloud.WebApp.Filters.CoreResultExceptionFilter[0]
      Unhandled Exception
      System.InvalidOperationException: Unable to resolve service for type 'Aspose.Words.Cloud.WebApp.Auth.IUserAuthenticationService' while attempting to activate 'Aspose.Words.Cloud.WebApp.Auth.AuthController'.
         at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.ThrowHelperUnableToResolveService(Type type, Type requiredBy)
         at lambda_method6(Closure, IServiceProvider, Object[])
         at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass6_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
         at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
      --- End of stack trace from previous location ---
         at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

Docker run (Windows)

docker run --rm -i -p 45698:80 -e "LicensePublicKey=MyPublicKey" -e "LicensePrivateKey=MyPrivateKey" -e "Logging__LogLevel__Default=Information" -v "C:\Development\Docker\Share\Fonts:/fonts" -v "C:\Development\Docker\Share\Data:/data" -e "ClientId=MyClientId" -e "ClientSecret=MyClientSecret" aspose/words-cloud

Example call to trigger the error

 public async Task Run()
    {
        try
        {
            var config = new Configuration
            {
                ApiBaseUrl = "http://localhost:45698",
                ClientId = "MyClientId",
                ClientSecret = "MyClientSecret",
            };
            var wordsApi = new WordsApi(config);
            var fileName = @"C:\!tmp\test.docx";

            using var filestream = File.OpenRead(fileName);
            var uploadFileRequest = new UploadFileRequest(filestream, fileName);
            await wordsApi.UploadFile(uploadFileRequest);

			//fails here on the first request
			//...

        }
        catch (Exception ex)
        {
            var err = ex.Message;
        }
    }

Thanks for sharing the code, I will check it and share the results