Activities of "franciscokadzi@gmail.com"

hi

Can you set a breakpoint to see which object is null?

**returnUrl ** and **returnUrlHash ** are coming in as null

Hi thanks for the help. The user not found issue is resolved now. But I get new errors. I have tried several options including AccountAppService.SendEmailConfirmationTokenAsync but to no avail. The HandleEventAsync is currently in my TenantRegister.cshtml.cs file.

Can you provide me with specifics on how to get this done. Possibly provide me with the complete code and where exactly to place it, in order for it to work.

I tried this option also

public async Task HandleEventAsync(TenantCreatedEto eventData)
{
    using (CurrentTenant.Change(eventData.Id))
    {
        var tenantEmail = eventData.Properties.GetOrDefault("AdminEmail");
        var user = await UserManager.FindByEmailAsync(tenantEmail);


        var emailArgs = new SendEmailConfirmationTokenDto
        {
            AppName = "MVC",
            ReturnUrl = ReturnUrl,
            ReturnUrlHash = ReturnUrlHash,
            UserId = user.Id,
        };

        await AccountAppService.SendEmailConfirmationTokenAsync(emailArgs);

    }
}

but I get NullReferenceException: Object reference not set to an instance of an object.

Question
  • ABP Framework version: v7.4.2
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes

I am developing a suite of 3 products, each consisting of 2 editions - a free plan and a paid/pro plan using ABP.io (Comercial - Team).

I have the following questions:

  1. Will the same tenant be able to subscribe to different editions of the different products? In other words, to the free plan for one or two products and to the paid plan for others without having to create an edition for every permutation of Product-Edition combinations? In short, is it possible to have multiple editions per tenant (e.g. Product 1 Free, Product 2 Pro and Product 3, or Product 1 Pro, Product 2 Free and Product 3 Free), understanding that this could result in 3 "different" subscriptions/payment transactions in each payment period?

  2. Will some users be able to subscribe to one edition (free plan) of a product while other users of the same tenant subscribe to the other edition (paid plan) of the same product? (i.e. Manage Edition at a User rather than a Tenant Level)

  3. If your answer is negative on either question, will it be doable on the Business plan or is there another way to have multiple products in one codebase? (The one codebase is not as important, but we are after tenants to be able to log in to one "App" that has access to all three Products (if they so choose, or to just one product or any combination of 2 products, etc) as there is data sharing between the products (A tenant that has product 1, and now subscribes to product 2, Free or Pro, would have additional features made available that allows the tenant to link data across the products, both i.t.o reporting and functionality) and SSO - Single Sign On - across the suite of products is of paramount importance)

hi

  1. the admin role can be removed for the admin user created during the tenant self registration.

Can you explain it in detail? And share some screenshots?

In the image, the role of admin can be removed by the user. Is it not the case that there must always be at least one admin for a tenant?

For the emailing confirmation issue, I tried doing this but got user does not exist error. Can you help with a detailed code on getting this to work please?

public async Task HandleEventAsync(TenantCreatedEto eventData)
{
    var user = await UserManager.FindByEmailAsync(Input.EmailAddress);
    var code = await UserManager.GenerateEmailConfirmationTokenAsync(user);

    var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code }, protocol: HttpContext.Request.Scheme);
    await _emailSender.SendAsync(Input.EmailAddress, "Email confirmation",
        $"Please confirm your email address by clicking the following link.<br> <a href='{callbackUrl}'>Confirm my email address</a>.");

}
  • ABP Framework version: v7.4.2
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

I have the following questions

  1. I have tenant self registration configured, but one thing we realised is that the admin role can be removed for the admin user created during the tenant self registration. Why is that possible? Is there a way to fix that? Each tenant should have at least one admin user.
  2. I need all users to verify their emails before they are able to login, but that does not work for tenant registration. New tenants do not get the email confirmation email. I came across this ticket https://support.abp.io/QA/Questions/5042/Send-email-to-tenant-admin-on-tenant-creation. Is that feature now available? If yes how do I get it to work? If not, is there a workaround for it?

Yes I have seen this issue ealier. It assumes the UI is MVC. My UI is angular. Do you mean to say I have to create a new menucontributor in my HttpApi.Host project? Secondly in my case I do not seek to use permissions to hide or show the menus. I just want to hide it by default.

Thanks for the response.

How about Linked Accounts, authenticator app and Authority delegation

  • ABP Framework version: v7.4.2
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

I need to hide the following options on the user menu.

  • Linked Accounts
  • Authority delegation

I don't want to disable the feature since I will use it in a future edition.

I also want to hide these menu items.

  • Text Templates
  • Language Management

I have tried using feature management to disable these features. But my application is a multitenant application and it does not get disabled for every tenant. Besides, the goal is to just hide these menus for admins of all tenants not to disable it.

I have already tried these but could not get it to work https://docs.abp.io/en/abp/latest/UI/Angular/Modifying-the-Menu#how-to-patch-or-remove-a-navigation-element https://docs.abp.io/en/abp/latest/UI/Angular/Modifying-the-Menu#how-to-patch-or-remove-an-right-part-element

Can you please help with the steps to get these done

Hi I have been able to work around the chrome and firefox issues locally. Everything works as expected locally But the azure issue remains the same. I get this error on azure NET::ERR_CERT_COMMON_NAME_INVALID and 404 error.

I have tried the suggestion in the following tickets but it seems not to help.

https://support.abp.io/QA/Questions/1876 https://support.abp.io/QA/Questions/6105/Subdomain-Tenant-Resolver-not-working-on-non-development-environment https://support.abp.io/QA/Questions/1552/Better-Documentation-for-Multi-Tenant-Subdomain-Resolver https://support.abp.io/QA/Questions/6606/Unable-to-configure-sub-domain-in-the-Application

If necessary I can provide access to the repo so you check. we could also get on a zoom call or anything you can do to help

Hi, I already have that in my appsettings. This is what I have

{
  "App": {
    "SelfUrl": "https://localhost:44348",
    "AngularUrl": "http://localhost:4200",
    "CorsOrigins": "http://*.localhost:4200,http://localhost:4200",
    "RedirectAllowedUrls": "http://localhost:4200,http://*.localhost:4200",
    "DisablePII": "false",
    "HealthCheckUrl": "/health-status"
  },
  "ConnectionStrings": {
    "Default": "Server=NAELI\\SQLEXPRESS;Database=MyApp;Trusted_Connection=True;TrustServerCertificate=True;"
  },
  "AuthServer": {
    "Authority": "https://localhost:44348",
    "RequireHttpsMetadata": "true",
    "SwaggerClientId": "MyApp_Swagger"
  },
  "StringEncryption": {
    "DefaultPassPhrase": "yMdNzBpz3TdwXUc8"
  }
}

and my environment.ts file

import { Environment } from '@abp/ng.core';

const baseUrl = 'http://{0}.localhost:4200';

const oAuthConfig = {
  issuer: 'https://{0}.localhost:44348/',
  redirectUri: baseUrl,
  clientId: 'MyApp_App',
  responseType: 'code',
  scope: 'offline_access MyApp',
  requireHttps: true,
};

export const environment = {
  production: false,
  application: {
    baseUrl,
    name: 'MyApp',
    logoUrl: '../assets/images/logo/logo-light.svg',
  },
  oAuthConfig,
  apis: {
    default: {
      url: 'https://{0}.localhost:44348',
      rootNamespace: 'MyApp',
    },
    AbpAccountPublic: {
      url: oAuthConfig.issuer,
      rootNamespace: 'AbpAccountPublic',
    },
  },
} as Environment;

Showing 1 to 10 of 11 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11