hi
You can read pfx from a stream or an embedded/virtual file.
https://github.com/abpframework/abp/blob/dev/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Microsoft/Extensions/DependencyInjection/OpenIddictServerBuilderExtensions.cs#L15-L20
Thanks.
hi
Could you share some code to help us understand your case?
You can use Static C# API Client Proxies between your services.
https://abp.io/docs/latest/framework/api-development/static-csharp-clients?_redirected=B8ABF606AA1BDF5C629883DF1061649A
Thanks.
hi
Can you output some logs when context.SetEndpoint(null);? Make sure the Endpoint is null for appsettings.json request.
// Set endpoint to null so the static files middleware will handle the request.
context.SetEndpoint(null);
Or can you try that?
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var env = context.GetEnvironment();
var app = context.GetApplicationBuilder();
// Configure the HTTP request pipeline.
if (env.IsDevelopment())
{
app.UseWebAssemblyDebugging();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAntiforgery();
app.UseConfiguredEndpoints(builder =>
{
builder.MapRazorComponents<App>()
.AddInteractiveWebAssemblyRenderMode()
.AddAdditionalAssemblies(WebAppAdditionalAssembliesHelper.GetAssemblies<BillingBlazorClientModule>());
});
}
Thanks.
hi
If your abp version >= 7.4.2, Payment module will support getting the current tenant URL
See https://abp.io/support/questions/6003/Stripe-payment-module-tenantName-resolver-issue
Thanks.
You're welcome. : )
hi
Please share your startup module code?
The correct middleware code/order should be:
app.UseRouting();
var configuration = context.GetConfiguration();
if (Convert.ToBoolean(configuration["AuthServer:IsOnK8s"]))
{
app.Use(async (context, next) =>
{
if (context.Request.Path.Value != null &&
context.Request.Path.Value.StartsWith("/appsettings", StringComparison.OrdinalIgnoreCase) &&
context.Request.Path.Value.EndsWith(".json", StringComparison.OrdinalIgnoreCase))
{
// Set endpoint to null so the static files middleware will handle the request.
context.SetEndpoint(null);
}
await next(context);
});
app.UseStaticFilesForPatterns("appsettings*.json");
}
app.MapAbpStaticAssets();
Thanks.
hi
What is your payment provider?
PayPal or TwoCheckout?
Thanks.
hi
Can you try to set Request.Scheme to https in your API website?
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
var env = context.GetEnvironment();
var app = context.GetApplicationBuilder();
app.Use(async (ctx, next) =>
{
ctx.Request.Scheme = "https";
await next();
});
//...
Thanks.
hi
The Blazorise team response:
Hello! As mentioned in the previous discussion, there’s really no completely secure way to hide the product token in a Blazor WebAssembly application. A determined and technically skilled user could always inspect the compiled assemblies and extract it.
That said, the product token isn’t meant to be secret, unlike the license key that comes with your subscription. The token is time-limited and automatically expires after a certain period. In most cases, Blazorise is used in** line-of-business (LOB)** applications where the risk of token exposure is minimal. Only in large, public-facing apps with many technically savvy users could this become a concern.
As for storage, the best approach is to embed the product token directly in your assembly rather than loading it from an external source at runtime.