hi
The application will not call the myaccountcontroller during login.
hi
We use page to handle the login request instead of controller.
Volo.Abp.Account.Pro.Public.Web/Pages/Account/Login.cshtml
Volo.Abp.Account.Pro.Public.Web/Pages/Account/Login.cshtml.cs
hi
I want to clone tenant
You can get the target tenant info and create a new one.
if this is not your want please explain it in detail.
hi
You can add your custom localization. or add ro.json to Blazorise
https://blazorise.com/docs/helpers/localization https://github.com/Megabit/Blazorise/tree/master/Source/Extensions/Blazorise.DataGrid/Resources/Localization/DataGrid
You can call the Challenge to initial the oidc flow.
[HttpGet]
public virtual async Task<ActionResult> Challenge(string returnUrl = "")
{
return Challenge(new AuthenticationProperties { RedirectUri = returnUrl }, "oidc");
}
https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.controllerbase.challenge?view=aspnetcore-7.0
hi
You can use the javascript library like https://github.com/IdentityModel/oidc-client-js/wiki
So if you could explain how best to generate that URL and if there are any particular considerations I need to be aware of given the ABP implementation that would be great.
Abp uses standard oauth flow. https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow
hi
outside of a .NET environment?
What kind of application?
HTML + Javascript? PHP? Java?
Using the oauth2 class library would be best instead of processing it manually. This process is more complicated.
hi
You can add an OpenIdConnect and Cookies authentication schemes to your separate site
Then everything will work as Public website
context.Services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies", options =>
{
options.ExpireTimeSpan = TimeSpan.FromDays(365);
options.CheckTokenExpiration();
})
.AddAbpOpenIdConnect("oidc", options =>
{
options.Authority = configuration["AuthServer:Authority"];
options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]); ;
options.ResponseType = OpenIdConnectResponseType.CodeIdToken;
options.ClientId = configuration["AuthServer:ClientId"];
options.ClientSecret = configuration["AuthServer:ClientSecret"];
options.UsePkce = true;
options.SaveTokens = true;
options.GetClaimsFromUserInfoEndpoint = true;
options.Scope.Add("roles");
options.Scope.Add("email");
options.Scope.Add("phone");
options.Scope.Add("MyProjectName");
});
hi
The oauth2 handle by OpenIddict:
https://github.com/abpframework/abp/tree/dev/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers