Activities of "ademaygun"

Hi liangshiwei, Thanks for your support

I added this lines

# Install Node.js and NPM
RUN apt-get update && \
    apt-get install -y nodejs npm && \
    rm -rf /var/lib/apt/lists/*

I am getting these warnings again this time.

# 13 45.89 npm WARN deprecated fsevents@1.2.9: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
# 13 49.76 npm WARN deprecated cuid@2.1.8: Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead.
# 13 51.89 npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix# deprecated
# 13 51.90 npm WARN deprecated source-map-url@0.4.0: See https://github.com/lydell/source-map-url# deprecated
# 13 51.94 npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url# deprecated
# 13 52.12 npm WARN deprecated set-value@0.4.3: Critical bug fixed in v3.0.1, please upgrade to the latest version.
# 13 52.16 npm WARN deprecated set-value@2.0.0: Critical bug fixed in v3.0.1, please upgrade to the latest version.
# 13 52.25 npm WARN deprecated mixin-deep@1.3.1: Critical bug fixed in v2.0.1, please upgrade to the latest version.
# 13 52.31 npm WARN deprecated source-map-resolve@0.5.1: See https://github.com/lydell/source-map-resolve# deprecated
# 13 52.39 npm WARN deprecated ini@1.3.5: Please update to ini >=1.3.6 to avoid a prototype pollution issue
# 13 53.61 npm WARN deprecated chokidar@2.1.6: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
# 13 55.12 npm WARN deprecated flag-icon-css@4.1.7: The project has been renamed to flag-icons

I'm not getting errors anymore, but what should I do to avoid receiving these warnings as well ?

  • ABP Framework version: v5.3.3
  • UI Type: Angular
  • Database System: EF Core (SQL Server, Oracle, MySQL, PostgreSQL, etc..)
  • Tiered (for MVC) or Auth Server Separated (for Angular): no
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

I have a Dockerfile in my Abp project (in aspnet-core folder) as shown below..

Dockerfile:

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env
WORKDIR /App
RUN dotnet tool install -g Volo.Abp.Cli --version 5.3.3

# Copy everything
COPY . ./

#this line added
RUN /root/.dotnet/tools/abp install-libs

# Restore as distinct layers
RUN dotnet restore

# Build and publish a release
RUN dotnet publish -c Release -o out


# Build runtime image
FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /App
COPY --from=build-env /App/out .
ENTRYPOINT ["dotnet", "MyCompany.HttpApi.Host.dll"]

I'm encountering the error Volo.Abp.AbpException: Could not find file '/libs/abp/core/abp.css' in the application. So I added the RUN /root/.dotnet/tools/abp install-libs line because the wwwroot/libs folder is not created within the Docker container.

However, now I'm getting the error:

#11 1.284 [20:30:31 WRN] NPM is not installed, visit https://nodejs.org/en/download/ and install NPM.

What should I do?

jenkins(is a ubuntu server) console output:

+ docker build -t gcr.io/test/myCompany-api:240 -f MyCompany/aspnet-core/Dockerfile MyCompany/aspnet-core
# 1 [internal] load .dockerignore
# 1 transferring context: 358B done
# 1 DONE 0.0s

# 2 [internal] load build definition from Dockerfile
# 2 transferring dockerfile: 593B done
# 2 DONE 0.0s

# 3 [internal] load metadata for mcr.microsoft.com/dotnet/sdk:6.0
# 3 DONE 0.1s

# 4 [internal] load metadata for mcr.microsoft.com/dotnet/aspnet:6.0
# 4 DONE 0.2s

# 5 [build-env 1/7] FROM mcr.microsoft.com/dotnet/sdk:6.0@sha256:6816906adc86b96630fd58c86d73e49f01c9403aeef4a5c76c2b1de4f15753ff
# 5 DONE 0.0s

# 6 [stage-2 1/3] FROM mcr.microsoft.com/dotnet/aspnet:6.0@sha256:97cb6ea106e157df9c3db7b2c50884141d0d0764d465104d7515bf409d7c99d3
# 6 DONE 0.0s

# 7 [internal] load build context
# 7 transferring context: 326.25kB 0.1s done
# 7 DONE 0.1s

# 8 [build-env 2/7] WORKDIR /App
# 8 CACHED

# 9 [build-env 3/7] RUN dotnet tool install -g Volo.Abp.Cli --version 5.3.3
# 9 CACHED

# 10 [build-env 4/7] COPY . ./
# 10 DONE 0.3s

# 11 [build-env 5/7] RUN /root/.dotnet/tools/abp install-libs
# 11 0.646 [20:30:31 INF] ABP CLI (https://abp.io)
# 11 0.844 [20:30:31 INF] Version 5.3.3 (Stable)
# 11 1.262 [20:30:31 WRN] ABP CLI has a newer stable version 7.4.2, please update to get the latest features and fixes.
# 11 1.262 [20:30:31 WRN] 
# 11 1.262 [20:30:31 WRN] Update Command: 
# 11 1.262 [20:30:31 WRN] dotnet tool update -g Volo.Abp.Cli
# 11 1.263 [20:30:31 WRN] 
# 11 1.284 [20:30:31 WRN] NPM is not installed, visit https://nodejs.org/en/download/ and install NPM
# 11 DONE 1.3s

Hi liangshiwei, Thanks for your support!

Hi liangshiwei, If I write the example code exactly as below, it creates a user in the AbpUsers table. If I log in again with the same user through an external provider, this time the CreateExternalUserAsync method is not triggered. Your suggestion works and is effective, but it means that the method (CreateExternalUserAsync) will always check whether the user exists before being called

[ExposeServices(typeof(LoginModel))]
public class MyLoginModel : LoginModel
{
    protected virtual async Task<IdentityUser> CreateExternalUserAsync(ExternalLoginInfo info)
    {
        var user = await base.CreateExternalUserAsync(info);
    }
}

adding external Login provider :

private void ConfigureExternalProviders(ServiceConfigurationContext context, IConfiguration configuration)
    {
        context.Services.AddAuthentication()
 .AddOpenIdConnect("oidc", options =>
 {
     options.Authority = "https://localhost:44366/";
     options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]); ;
     options.ResponseType = OpenIdConnectResponseType.CodeIdToken;
     options.ClientId = "Client1";
     options.ClientSecret = "mysecret";

     options.UsePkce = true;
     options.SaveTokens = true;
     options.GetClaimsFromUserInfoEndpoint = true;
     options.Scope.Add("role");
     options.Scope.Add("email");
     options.Scope.Add("phone");
     options.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "sub");
 }
    );

Hi Liangshiwei,

Thank you for your response, I appreciate your answer and I understand it very well. However, it seems like a workaround solution. I want to override the place where the decision to trigger this method is made. Even if I override the CreateExternalUserAsync method, it will still attempt to find the user every time and not be able to find it

Hi, After a successful login from an external login provider, I want to manually check whether the user exists in my system and then when I find the appropriate user, log them into my system (especially for tenant users)

  • ABP Framework version: v5.3.3
  • UI Type: Angular
  • Database System: EF Core (SQL Server, Oracle, MySQL, PostgreSQL, etc..)
  • Tiered (for MVC) or Auth Server Separated (for Angular): no
  • Exception message and full stack trace: No exception message
  • Steps to reproduce the issue:
  1. I want only external login to be enabled and all other login methods to be disabled in my Abp project. How can I achieve this?
  2. If the external login is successful, and the user is coming to my system for the first time, I want to perform some checks and custom updates. How can I achieve this? I couldn't determine if I need to implement coding similar to the this solution provided after my research.

Note : External login provider is an another Abp project

  • ABP Framework version: v5.3.3
  • UI Type: Angular
  • Database System: EF Core (PostgreSQL)
  • Tiered (for MVC) or Auth Server Separated (for Angular): no
  • Exception message and full stack trace:
  • Steps to reproduce the issue:
  • A user logs in to the ABP application.
  • The admin deactivates this user.(on another browser or machine)

I want the logged-in and deactivated user to be unable to perform any actions in the application or to force log out when they click anywhere. Is there a way to achieve this?

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

As expressed by the user @mgurer , the methods of the class we implemented from IAbpClaimsPrincipalContributor are not being triggered in the refresh token flow. Therefore, we created a class derived from MyPrepareAccessTokenPrincipal. However, within the HandleAsync, how can we use our repository class?

public ValueTask HandleAsync(OpenIddictServerEvents.ProcessSignInContext context)
    {
	    var identity = context.AccessTokenPrincipal?.Identities.FirstOrDefault();
		var userId = identity?.FindUserId();
		if (userId!=null)
		{
		  var user = userRepository.GetAsync(userId); //<-- HOW CAN I INJECT userRepository
		}
		
        return default;
    }
Showing 11 to 20 of 81 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11