I would like to replace the login and register page in MVC using Angular. I was just wondering if there is any guidance or documents in regards to this.
I did see this page, but it recommends using the resource owner password flow, which I would prefer not to. https://docs.abp.io/en/abp/latest/UI/Angular/Account-Module
And as mentioned, I would like to override these pages with my own designs.
Thank you
Are there any guidelines for integrating ABP with an Azure Durable Function? I am trying to call my Application Services and Repositories.
This is my Program.cs
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults(x => x.UseMiddleware(), options => {})
.ConfigureAppConfiguration((hostContext, config) =>
{
config.AddJsonFile("appsettings.json", optional: false);
})
.ConfigureServices((hostBuilderContext, services) =>
{
services.AddOptions();
services.AddApplicationAsync(x =>
{
x.Services.ReplaceConfiguration(hostBuilderContext.Configuration);
});
services.Configure<ProcessorOptions>(hostBuilderContext.Configuration.GetSection(nameof(ProcessorOptions)));
var processorOptions = hostBuilderContext.Configuration.Get<ProcessorOptions>();
services.AddLogging();
})
.Build();
host.Run();
I am getting a lot of exceptions with trying to access any of my Repositories.
If you're creating a bug/problem report, please include followings:
Would it be possible to use both menus, the top and side menu at the same time?
As part of my application, I have different tools, which I would like to reside on the top menu. When the user clicks on a tool, I would like the side menu to change to reflect the valid options for that tool. I believe this is possible with the Blasorise Bar component.
I had a few questions about the User Aggregate and Login:
Thank you
I would like to use an external Login provider such as Auth0. The current document https://docs.abp.io/en/commercial/latest/modules/identity/oauth-login seems to using Identity Server and not OpenID Connect, which is provided by default for new installations using ABP Suite.
Can you provide a link or directions to set that up for an Angular project? I am assuming that I would have to maintain roles and permissions in Auth0? or would that still be maintained in the Admin UI?
<br>
I am unable to deploy to Azure. I am using an Azure App Service for both the front and the back. Deploying the backend seems to working fine. I had to generate certificates in order to get it working after deployment. However when I try to login from the UI, I am getting a 400 error.
If I test the front end code locally, while having the backend pointed to the deployed in Azure web service, it works fine....
I noticed when I test locally, the url is in the form "/Account/Login?ReturnUrl=connect/authorize&response_type=code&client_id..."
However, deployed the deployed version has a url starting with "/connect/authorize&response_type=code&client_id"
Also it looks for the endpoint /getEnvConfig which needs to get redirected... as it only works with nginx, so I had to create a web.config and create rewrite rules to map to dynamic-env.json?
Here is my web.config for the frontend
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<customErrors mode="On"/>
</system.web>
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00"/>
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
<rewrite>
<rules>
<rule name="Angular Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(getEnvConfig)" negate="true" />
</conditions>
<action type="Rewrite" url="/" redirectType="Found" />
</rule>
<rule name="getEnvConfig" enabled="true" patternSyntax="ExactMatch" stopProcessing="true">
<match url="getEnvConfig" />
<action type="Redirect" url="dynamic-env.json" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
There is currently no documentation / code examples for using the payments module to process a payment from end to end using blazor server. Could you provide an example? PaymentWebOptions for example, is not included in the default nugets for blazor server.
I am able to create a payment using :
var paymentRequest = await _paymentRequestAppService.CreateAsync(new PaymentRequestCreateDto()
{
Products = new List<PaymentRequestProductCreateDto>()
{
new PaymentRequestProductCreateDto
{
Code = "Product_01",
Name = "LEGO Super Mario",
Count = 2,
UnitPrice = 60,
TotalPrice = 200
}
}
});
However, I am not able to process/complete a payment. I tried passing paymentRequest.Id
to _paymentRequestAppService.CompleteAsync(new CompletePaymentRequestDto(){ })
But I am getting a stripe exception stating that the sessionId is missing.
Also, when testing from within stripe, the default yourdomain.com/payment/stripe/webhook
endpoint do not work. Events sent to this endpoint return an exception.
The payments UI seems to be only availalbe for MVC, and partially for Webassembly. Is this correct? I looked at the documentation, and the samples, but their doesn't seem to be anything that targets Blazor Server.
Any recommendations in regars to UI setup? If not, I will just have to build it out.
The error happens while loading the MainHeader or MainSidebar components.
I have included the source code in my project for the Lepton theme. The error is gives is the same, but the permssion that it's faling on is a bit random. The stack trace below is for AbpIdentit... but another might be "Volo.Abp.AbpException: Undefined permission: Languag"
In order to reproduce:
If you have any missing Localization keys, for example if you reference @L["SecretMenu"], but it's missing from en.json, then the error would happen.
Expected behaviour: In the above case, @L["SecretMenu"] should output the string "SecretMenu", and not through an error.
Edit: This seems to happen with some other exceptions as well, with the actual exception being masked.
If you're creating a bug/problem report, please include followings:
Volo.Abp.AbpException: Undefined permission: AbpIdentit
at Volo.Abp.Authorization.Permissions.PermissionDefinitionManager.Get(String name)
at Volo.Abp.Authorization.Permissions.PermissionChecker.IsGrantedAsync(ClaimsPrincipal claimsPrincipal, String[] names)
at Volo.Abp.Authorization.Permissions.PermissionChecker.IsGrantedAsync(String[] names)
at Volo.Abp.Authorization.Permissions.RequirePermissionsSimpleBatchStateChecker1.IsEnabledAsync(SimpleBatchStateCheckerContext
1 context)
at Volo.Abp.SimpleStateChecking.SimpleStateCheckerManager`1.IsEnabledAsync(TState[] states)
at Volo.Abp.UI.Navigation.MenuManager.CheckPermissionsAsync(IServiceProvider serviceProvider, IHasMenuItems menuWithItems)
at Volo.Abp.UI.Navigation.MenuManager.GetInternalAsync(String name)
at Volo.Abp.UI.Navigation.MenuManager.GetAsync(String[] menuNames)
at Volo.Abp.AspNetCore.Components.Web.LeptonTheme.Components.ApplicationLayout.Navigation.MainMenuProvider.GetMenuAsync() in D:_dev\ReferMe\modules\Volo.LeptonTheme\src\Volo.Abp.AspNetCore.Components.Web.LeptonTheme\Components\ApplicationLayout\Navigation\MainMenuProvider.cs:line 30
at Volo.Abp.AspNetCore.Components.Web.LeptonTheme.Components.ApplicationLayout.Navigation.MainSiderbar.OnInitializedAsync() in D:_dev\ReferMe\modules\Volo.LeptonTheme\src\Volo.Abp.AspNetCore.Components.Web.LeptonTheme\Components\ApplicationLayout\Navigation\MainSiderbar.razor.cs:line 19
at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)