Open Closed

abp version migration issues from v8.0 to v8.2.1 #7649


User avatar
0
smansuri created
  • ABP Framework version: v8.0
  • UI Type: Angular / MVC
  • Database System: EF Core (MySQL)
  • Tiered (for MVC) or Auth Server Separated (for Angular): Auth server separated angular
  • Exception message and full stack trace: IDX14100: JWT is not well formed, there are no dots (.).
  • Steps to reproduce the issue: migrate abp version from 8.0 to 8.2.1

we have intial solution of abp .version 7.3 and we were able to migrate to version 8.0 successfully with the help of abp support. Now we are trying to migrate abp version from 8.0 to 8.2.1. after migrating and running the auth server getting below error in administration service.

Microsoft.IdentityModel.Tokens.SecurityTokenMalformedException: IDX14100: JWT is not well formed, there are no dots (.). The token needs to be in JWS or JWE Compact Serialization Format. (JWS): 'EncodedHeader.EndcodedPayload.EncodedSignature'. (JWE): 'EncodedProtectedHeader.EncodedEncryptedKey.EncodedInitializationVector.EncodedCiphertext.EncodedAuthenticationTag'. ---> System.MissingMethodException: Method not found: 'Byte[] Microsoft.IdentityModel.Tokens.Base64UrlEncoder.UnsafeDecode(System.ReadOnlyMemory`1

please fins the logs file attached here : https://drive.google.com/file/d/1VuuObaM-9P0vcAUnUYpMqxwpDIoPDNlG/view?usp=sharing


23 Answer(s)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    https://github.com/abpframework/abp/issues/20145#issuecomment-2202052771

  • User Avatar
    0
    smansuri created

    what is the use of abplinkusers table in identity service?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Link user feature : https://abp.io/docs/latest/modules/account/linkedaccounts

  • User Avatar
    0
    smansuri created

    2024-08-12T10:32:57.0381520Z #35 [build 20/20] RUN yarn build:prod --configuration='qa' 2024-08-12T10:32:57.3482641Z #35 0.462 yarn run v1.22.22 2024-08-12T10:32:57.5501568Z #35 0.513 $ ng build product --configuration production && ng build health --configuration production '--configuration='''qa'' 2024-08-12T10:32:57.8692366Z #35 0.983 Workspace extension with invalid name (defaultProject) found. 2024-08-12T10:32:59.1772048Z #35 2.291 Building Angular Package 2024-08-12T10:32:59.3439169Z #35 2.457 An error has occurred while validating config at /app/projects/product-service/config 2024-08-12T10:32:59.4534466Z #35 2.476 Configuration doesn't match the required schema. 2024-08-12T10:32:59.4534952Z #35 2.476 Data path "" must NOT have additional properties (dest). 2024-08-12T10:32:59.4535183Z #35 2.507 error Command failed with exit code 1. 2024-08-12T10:32:59.4535661Z #35 2.508 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. 2024-08-12T10:32:59.4536235Z #35 ERROR: process "/bin/sh -c yarn build:prod --configuration=${configuration}" did not complete successfully: exit code: 1 2024-08-12T10:32:59.4661970Z ------ 2024-08-12T10:32:59.4662840Z > [build 20/20] RUN yarn build:prod --configuration='qa': 2024-08-12T10:32:59.4663182Z 0.462 yarn run v1.22.22 2024-08-12T10:32:59.4663650Z 0.513 $ ng build product --configuration production && ng build health --configuration production '--configuration='''qa'' 2024-08-12T10:32:59.4664070Z 0.983 Workspace extension with invalid name (defaultProject) found. 2024-08-12T10:32:59.4664390Z 2.291 Building Angular Package 2024-08-12T10:32:59.4665150Z 2.457 An error has occurred while validating config at /app/projects/product-service/config 2024-08-12T10:32:59.4665616Z 2.476 Configuration doesn't match the required schema. 2024-08-12T10:32:59.4665952Z 2.476 Data path "" must NOT have additional properties (dest). 2024-08-12T10:32:59.4666269Z 2.507 error Command failed with exit code 1. 2024-08-12T10:32:59.4666554Z 2.508 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. 2024-08-12T10:32:59.4666981Z ------

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    It seems this is an angular build error, right?

  • User Avatar
    0
    smansuri created

    yes but product-service ng-package.json has to be updated with correct schema. need to remove dest key from it which did not handled by update command.. Can you help with a scenario where i want my end users using angular app to be able to login to multiple tenants with single user. we have created a subdomain for each tenant. now using the subdomain url each clinic is identified as tenant by its subdomain. each sub domain will have its on branding images and style. in this case if i want the end user to be able to login across different tenant based on some tenant user association as for current abp framework support only one tenant per user, how can i achieve this. please suggest.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    each sub domain will have its on branding images and style.

    You can override the page to show different styles and images based on the current tenant.

    i want my end users using angular app to be able to login to multiple tenants with single user. i want the end user to be able to login across different tenant based on some tenant user association as for current abp framework support only one tenant per user, how can i achieve this. please suggest.

    We don't support this case.

  • User Avatar
    0
    smansuri created

    hi

    each sub domain will have its on branding images and style.

    You can override the page to show different styles and images based on the current tenant.

    i want my end users using angular app to be able to login to multiple tenants with single user. i want the end user to be able to login across different tenant based on some tenant user association as for current abp framework support only one tenant per user, how can i achieve this. please suggest.

    We don't support this case.

    i understand. it would be great if you could you please suggest guideline on how do we achieve this requirement keeping in mind abp framework so that we have to do minimal changes. Is the identity service always used as centralized authentication service for all microservices as well as UI apps?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    The changes are massive, potentially even incompatible with many current designs.

  • User Avatar
    0
    smansuri created

    it would be only in identity service i guess. How about adding a table user_tenant_association with userid and tenantid for association of tenant and user and keep the tenantid alwasy null in the existing abpusers table then use the tenantid from the newly created association table to check if the user association exist in the new user_tenant_association table? this way only single api change would be easy to handle.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    You can try it. If there are any new situations, you can always give feedback.

  • User Avatar
    0
    smansuri created

    You can try it. If there are any new situations, you can always give feedback.

    i have downloaded the abp identity module in my solution. but still not able to find repositories in the solution to make query changes? please help.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    What errors did you get? Please share the error logs.

  • User Avatar
    0
    smansuri created

    im not bale to find files not getting any errors. i would like to see all files including EfCoreIdentityUserRepository.cs files

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    ok, How can I reproduce your problem?

  • User Avatar
    0
    smansuri created

    ok, How can I reproduce your problem?

    Download the identity module with source code. not all efcore files and manager files are present. even while debugging can not naviage to implementation of the EfCoreIdentityUserRepository.cs file to make neccessary query changes.

    I just want to ovveride this EfCoreIdentityUserRepository.cs repo functions to customize the queries as per my implementation to fetch tenantid from newly created table rather than abpuser table.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    The EfCoreIdentityUserRepository is in the Identity module, which is an open-source module.

    https://github.com/abpframework/abp/blob/dev/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs#L15

  • User Avatar
    0
    smansuri created

    hi

    The EfCoreIdentityUserRepository is in the Identity module, which is an open-source module.

    https://github.com/abpframework/abp/blob/dev/modules/identity/src/Volo.Abp.Identity.EntityFrameworkCore/Volo/Abp/Identity/EntityFrameworkCore/EfCoreIdentityUserRepository.cs#L15

    ok. How can i override necessary methods related to only this class? bcz i do not want to maintain the whole module source code so that future version updates are easy to handle

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    https://abp.io/docs/latest/framework/architecture/modularity/extending/customizing-application-modules-overriding-services?_redirected=B8ABF606AA1BDF5C629883DF1061649A#example-overriding-a-repository

  • User Avatar
    0
    smansuri created

    hi

    https://abp.io/docs/latest/framework/architecture/modularity/extending/customizing-application-modules-overriding-services?_redirected=B8ABF606AA1BDF5C629883DF1061649A#example-overriding-a-repository

    thanks.what the use of istatic, ispublic and IsDefault in AbpRoles table? is there any documentation for all the abp table relatino and column explanation?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer
    • IsDefault (A default role is automatically assigned to a new user)
    • IsStatic (A static role can not be deleted/renamed)
    • IsPublic (A user can see other user's public roles)
  • User Avatar
    0
    smansuri created

    what value i should use for cookie 'AspNetCore.Identity.Application' for connect/authorize request? or rather how should i generate the cookie for AspNetCore.Identity.Application variable in request of connect/authorize

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Please create a new question and share your problem details. Thanks.

Made with ❤️ on ABP v9.1.0-preview. Updated on November 19, 2024, 12:56