And btw thanks alot , you always provide timely and great support, much appreciated :)
Update : I figured it out , it was the names of the functions , the name convention needed the word Async at the end of function names !
Update : I got the JWT token to work but i am having a weird issue while generating the proxies using : abp generate-proxy -t csharp -u https://localhost:44358
some of the proxies generated have this issue for some of the functions, i cant see anything in common with those functions :
public virtual GroupDto GetByFriendlyUrl(string url, Guid pmnId) { //Client Proxy does not support the synchronization method, you should always use asynchronous methods as a best practice throw new System.NotImplementedException(); }
However , my function is actually Async as can be seen here :
public interface IGroupAppService : IApplicationService { Task<PagedResultDto<GroupDto>> GetListAsync(GetGroupsInput input);
Task<GroupDto> GetAsync(Guid id);
Task DeleteAsync(Guid id);
Task<GroupDto> CreateAsync(CreateOrUpdateGroupInput input);
Task<GroupDto> UpdateAsync(CreateOrUpdateGroupInput input);
Task<List<GroupDto>> GetMyGroups(Guid pmnId);
Task<GroupDto> GetByFriendlyUrl(string url, Guid pmnId);
Task SetAllGroupsFullPath();
}
Hello, thanks for the advice, ok so now its calling the api endpoint but the token isnt being passed and my endpoints returns Unauthorized:
I have my own login page which was implemented and working on my original blazor UI project. i copied the same config to this project as follows
public override void ConfigureServices(ServiceConfigurationContext context) { var environment = context.Services.GetSingletonInstance<IWebAssemblyHostEnvironment>(); var builder = context.Services.GetSingletonInstance<WebAssemblyHostBuilder>();
ConfigureAuthentication(builder);
ConfigureHttpClient(context, environment);
ConfigureBlazorise(context);
ConfigureRouter(context);
ConfigureUI(builder);
ConfigureAutoMapper(context);
context.Services.AddScoped<TokenServerAuthenticationStateProvider>();
context.Services.AddScoped<AuthenticationStateProvider>(provider => provider.GetRequiredService<TokenServerAuthenticationStateProvider>());
}
Would it be possible to create a working example project ? would really appreciate it , already my application is down to 1.9 seconds load now, just need to fix the token header.
Dear Team, i used the abp generate-proxy -t csharp -url https://localhost:44358 command and generated c# client proxies. Now i created a new empty blazor app using "dotnet new blazorwasm -o ProMailNet.BlazorWasm" and would like to use this proxy by injecting it. Is there any way to achieve that ?
I was able to inject it into my program.cs and referenced the project http.client.
builder.Services.AddScoped<MailboxClientProxy>();
but when i try to call a method from the mailboxclientproxy :
Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100] Unhandled exception rendering component: Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at Uncaught (in promise) Error: Volo.Abp.AbpException: WebAssemblyCachedApplicationConfigurationClient should be initialized before using it.
would really appreciate your help. as i am trying to create an empty blazor app but use the proxies. The reason for that is that currently my blazor application hosted on https://uat.promailnet.com takes upto 6 seconds before reaching the appliction-configuration call which is leading to super slow load time. everytime you refresh it does the same thing. it caches everything else, but this call takes 6 seconds to initiate, so im starting with a blank template as i only require the proxies for some app services. I am handling everything else
But in the Blazor app provided by the ABP framework, you have CurrentUser and CurrentTenant objects that can immediately be used to determine which user is logged in somehow using the token, how is that achieved ? and how come you are telling me that this has nothing to do with the ABP framework when its the abp framework that has all of this wired up ?
Very poor answer for commercial support to be honest ! What do you mean just google it ?! I am not stupid, just needed some guidance but you are obviously not willing to guide me in the right direction.
You should google to find out how to be better at supporting your clients.
Anyway thanks for nothing
Ok so i have the current test environment for my web app which cab be accessed on https://uat.promailnet.com/ when you land on https://uat.promailnet.com/ , the system will redirect the user to the auth server page on
https://uatserver.promailnet.com/Account/Login?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fclient_id%3DProMailNet_Blazor%26redirect_uri%3Dhttps%253A%252F%252Fuat.promailnet.com%252Fauthentication%252Flogin-callback%26response_type%3Dcode%26scope%3Dopenid%2520profile%2520ProMailNet%2520role%2520email%2520phone%26state%3De70063b5d57f46bfa630aa54a85e65af%26code_challenge%3DXddk2O1otOqY3v3KD8z5E1m1GneF1YEzopU-YitQZdM%26code_challenge_method%3DS256%26response_mode%3Dquery
once the user logs in, it will redirect back to https://uat.promailnet.com/ with the user authenticated and the JTW token available in the header of every http request which is currently working fine.
My issue is that customizing the Authorization page is hectic and limited, i also dont like the whole Single sign on Redirect mechanism .
What i want is to be able to create my own login page from scratch as part of my blazor project and authenticate, get the token and attach it to my header without having to use the current authentication page of Microsoft Identity.
For example when i create a mobile app, i use the https://uatserver/connect/token endpoint with grant type password and this generates a JWT token which is then used throughout the app on every Api request. I want to be able to do the same with my blazor application so i can avoid using the Microsoft identity login page created by the ABP framework.
I hope this explains my scenario , I essentially want to create my own login page from scratch and have it in my blazor app instead of having it on my server application.
Would really appreciate your answer and a solution that i can actually implement :)
Cheers !
Dear support team, How do I authenticate and attach the JWT token to the authorization header without having to use the default Microsoft Identity Authentication page ?
The reason why I am asking this is because i am trying to create my own custom login page without having to customize the existing one and create a seamless login experience without having to redirect to Microsoft identity and then redirect back once logged in.
Best Regards, Fathi Alsharif
Hello,
I have only Team License. Is there any way to get the source code of this specific module ?
Hello,
I am trying to customize the tenant creation view like below. I created the new folder and files following the same path as the documentation (Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement/TenantManagement.razor) , https://github.com/abpframework/abp/tree/dev/modules/tenant-management/src/Volo.Abp.TenantManagement.Blazor/Pages/TenantManagement. I added [Dependency(ReplaceServices = true)]. I tried to add a textfield to test it but it is not affected or showing, I also tried to add a breakpoint in the razor.cs file (the code behind) it also was not get hit.