• This repository has been archived on 01/Aug/2021
  • Stars
    star
    741
  • Rank 59,270 (Top 2 %)
  • Language
    HTML
  • License
    MIT License
  • Created almost 6 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🔧 ASP.NET Core 3 & Angular 8 Administration Panel for 💞IdentityServer4 and ASP.NET Core Identity

Archived project. If you are looking for an api and management ecosystem. You can try SSO which are properly working. Or try Skoruba Version, he is working at the project and keeping it up-to-date!


image

Build Status License

This is an Administrator Panel for IdentityServer4. It's available in 2 versions: Light and Full. See below the differences.

Several break changes

The new version, written in ASP.NET Core 3.0, changed a lot. So before upgrade read differences between light and full version. If have the past version, don't worry. It's the same project at all. But splited repo's.

Installation

If you know the differences between Light and Full. Check the installation instructions below. If wanna understand, check more here atPresentation section.

Full Install

Go to this repo and follow instructions there.

Light Install

You will need to create a Client and API resources in your IdentityServer4. At the end of this section there are some shortcuts.

  1. Download/Clone or Fork this repository.
  2. Open environment.ts and change settings for you SSO.
    export const environment = {
        production: false,
        IssuerUri:  "http://localhost:5000",
        ResourceServer: "http://localhost:5002/",
        RequireHttps: false,
        Uri: "http://localhost:4300",
        defaultTheme: "E",
        version: "3.0.0"
    };
    
    For more details check angular-oauth2-oidc
  3. Open docker-compose.yml and change Api Settings:
    # #############################
    # # Management API - Light
    # #############################
    jpproject-light-api:
        image: jpproject-light-api
        build: 
          context: .
          dockerfile: api-light.dockerfile
        environment: 
            ASPNETCORE_ENVIRONMENT: "Development"
            CUSTOMCONNSTR_SSOConnection: "<you database connstring>"
            ApplicationSettings:Authority: "<you sso uri>"
            ApplicationSettings:DatabaseType: SqlServer # Choose one: SqlServer | MySql | Postgre | Sqlite
            ApplicationSettings:RequireHttpsMetadata: 'false'
            ApplicationSettings:ApiName: "<api name>"
            ApplicationSettings:ApiSecret: "<your api secret>"
    
  4. Build compose by: docker-compose up

Shortcuts:

You must have these 2 configurations at you IdentityServer4

Client configuration

    /*
    * JP Project ID4 Admin Client
    */
    new Client
    {

        ClientId = "IS4-Admin",
        ClientName = "IS4-Admin",
        ClientUri = "http://localhost:4300",
        AllowedGrantTypes = GrantTypes.Code,
        AllowAccessTokensViaBrowser = false,
        RequireConsent = true,
        RequirePkce = true,
        AllowPlainTextPkce = false,
        RequireClientSecret = false,
        RedirectUris = new[] {
            "http://localhost:4300/login-callback",
            "http://localhost:4300/silent-refresh.html"
        },
        AllowedCorsOrigins = { "http://localhost:4300" },
        LogoUri = "https://jpproject.azurewebsites.net/sso/images/brand/logo.png",
        PostLogoutRedirectUris = {"http://localhost:4300",},
        AllowedScopes =
        {
            IdentityServerConstants.StandardScopes.OpenId,
            IdentityServerConstants.StandardScopes.Profile,
            IdentityServerConstants.StandardScopes.Email,
            "jp_api.is4",
            "role"
        }
    },

Api resource configuration

    new ApiResource
    {
        Name = "jp_api",
        DisplayName = "JP API",
        Description = "OAuth2 Server Management Api",
        ApiSecrets = { new Secret(":}sFUz}Pjc]K4yiW>vDjM,+:tq=U989dxw=Vy*ViKrP+bjNbWC3B3&kE23Z=%#Jr".Sha256()) },

        UserClaims =
        {
            IdentityServerConstants.StandardScopes.OpenId,
            IdentityServerConstants.StandardScopes.Profile,
            IdentityServerConstants.StandardScopes.Email,
            "is4-rights",
            "username",
            "roles"
        },

        Scopes =
        {
            new Scope()
            {
                Name = "jp_api.is4",
                DisplayName = "OAuth2 Server",
                Description = "Manage mode to IS4",
                Required = true
            }
        }
    }

Identity Resource:

    new IdentityResource("role", new List<string>(){"roles"}),

Table of Contents


Presentation

JP Project Admin Panel is an administrative panel for IdentityServer4. You can manage Clients, Api Resources, Identity Resources and so on. There are 2 versions.

Full

The full version is for those who don't have an IdentityServer up and running. So you can download the JP Project SSO and with this admin panel you will be able to manage Users and IdentityServer4.

Go to this repo instead

Light version

For those who already have an IdentityServer4. This panel has features to manage an existing IdentityServer4 database.

Here some screenshots

Admin UI

Demo

Check our full demo online.

We are online

Check it now at Admin Panel.

You can check also SSO and Profile Manager

New users are readonly

Technologies

Check below how it was developed.

Written in ASP.NET Core and Angular 8. The main goal of project is to be a Management Ecosystem for IdentityServer4. Helping Startup's and Organization to Speed Up the Setup of User Management. Helping teams and entrepreneurs to achieve the company's primary purpose: Maximize shareholder value.

  • Angular 8
  • Rich UI interface
  • ASP.NET Core 3.0
  • ASP.NET WebApi Core
  • MySql Ready
  • Sql Ready
  • Postgree Ready
  • SQLite Ready
  • Entity Framework Core
  • .NET Core Native DI
  • AutoMapper
  • FluentValidator
  • MediatR
  • Swagger UI
  • High customizable
  • Translation for 7 different languages

Architecture

  • Architecture with responsibility separation concerns, SOLID and Clean Code
  • Domain Driven Design (Layers and Domain Model Pattern)
  • Domain Events
  • Domain Notification
  • CQRS (Imediate Consistency)
  • Event Sourcing
  • Unit of Work
  • Repository and Generic Repository

Give a Star! ⭐

Do you love it? give us a Star!

How to build

Jp Project is built against ASP.NET Core 3.0.

  • Install the latest .NET Core 2.2 SDK

src/JpProject.AdminUi.sln Contains the API

For UI's use VSCode.

  • AdminUI -> Inside VSCode open folder rootFolder/src/Frontend/Jp.AdminUI, then terminal and npm install && npm start

Wait for ng to complete his proccess then go to http://localhost:4300!

Any doubts? Go to docs

Docs

Wanna start? please Read the docs

Contributors

Thank you all!

Contributing

We'll love it! Please Read the docs

Free

If you need help building or running your Jp Project platform There are several ways we can help you out.

3.0.2

  1. Menu translation
  2. Email support for full version
  3. Email configuration settings (SMTP / Password) for full version

3.0.1

  1. ASP.NET Core 3.0 support
  2. Separated repositories, for better management. Improving tests, integration tests. And to support more scenarios.

v1.4.5

Breaking change: Argon2 password hashing. Be careful before update. If you are using the old version all users must need to update their passwords.

  1. Bug fixes:
    1. Tooltip for admin-ui
  2. Argon2 Password Hasher
  3. Show version at footer

Check Changelog.md for a complete list of changes.

What comes next?

  • Code coverage
  • UI for Device codes
  • CI with SonarCloud
  • E-mail template management
  • Blob service management

License

Jp Project is Open Source software and is released under the MIT license. This license allow the use of Jp Project in free and commercial applications and libraries without restrictions.

More Repositories

1

JPProject.IdentityServer4.SSO

🔒 ASP.NET Core 3.1 Open Source SSO. Built within IdentityServer4 🔑
HTML
444
star
2

MongoDB-RepositoryUoWPatterns

Example of an implementation of Repository and Unit of Work Patterns with MongoDB for ASP.NET Core.
C#
193
star
3

awesome-github-stats

🚀 Show everyone how amazing you are! Stay motivated and display your total contributions and level on your GitHub profile README
C#
146
star
4

AspNetCore.IQueryable.Extensions

LINQ extensions to help build IQueryAble Expressions
C#
141
star
5

JPProject.Core

Administration classes for ASP.NET Identity and IdentityServer4
Smalltalk
47
star
6

RESTFul.API-Example

A RESTFul API demo for ASP.NET Core
C#
44
star
7

santander.pix.integracao

Demo para gerar Token PIX com o Santander com mutual TLS
C#
39
star
8

RabbitMQ-EventSourcing

Example app for Event Sourcing with RabbitMQ. To build high available services.
C#
30
star
9

refresh-token-sample

C#
22
star
10

ProtectApplicationsDemo

Several samples showing how to protect an application. By Cookies, JWT and OAuth 2.0
C#
22
star
11

IdentityServer4AngularOIDC

Example App - IdentityServer4 login through Angular 6 and OpenId Connect
HTML
18
star
12

secure-api-identityserver4

Securing an ASP.NET Core 3.1 API with IdentityServer4
C#
18
star
13

Palestras

HTML
17
star
14

AspNetCore-IdentityServer4-Example

Sample application
C#
16
star
15

AsymetricEncryption.JWE

Using JWE to cryptograph a credit card before send it through network to Server.
C#
16
star
16

DecoratorDemo

An example showing how to use Decorator both manual and using Scruptor
C#
15
star
17

criptografia-devs

C#
15
star
18

CacheStrategy

A IOC technique to add Cache to some components without change component itself.
C#
14
star
19

DapperExamples

Many use case for Dapper
C#
12
star
20

JWT-Step-by-Step

C#
10
star
21

Hashcat.ASPNET.Identity

Several demos showing how bad some hash algorithms can be to protect password. One demo show how to transform ASP.NET Identity hash to hashcat format
C#
9
star
22

Generate-And-StoreJwt

C#
5
star
23

identityserver4-angular-demo

Demo showing how to integrate angular 8 and IdentityServer4
HTML
5
star
24

oidc-samples

Many samples using OpenId Connect against Is4
JavaScript
3
star
25

ASP.NET-Core-SQL-Injection-Example

This repo shows how to made a Sql Injection attacks and how to prevent it
C#
3
star
26

Tests-RSA-ECDsa-HMAC-JWK

Examples how to generate and store asymmetric algorithms with JsonWebKey
C#
3
star
27

oauth2-custom-authorizer

OAuth 2.0 Custom Authorizer for AWS API Gateway. It validate bearer tokens. Both JWT and Reference Token
TypeScript
3
star
28

Identity-SecurePassword-Passprotect

Demo showing how to improve password security with Passprotect using ASP.NET Core MVC & Identity
C#
2
star
29

rinha-backend-dotnet

Uma versão otimizando banco de dados
C#
2
star
30

BlazorInteropJS

Interoprabilidade Blazor - Gerando PDF através da lib javascript JSPdf.
C#
2
star
31

Blazor-FirstStep

Projeto exemplo do Blazor
C#
2
star
32

CognitiveServicesExamples

Computer Vision Api through Angular and Web Api
TypeScript
2
star
33

project-renamer

C#
1
star
34

DevOps-Example

Sample project for Azure DevOps demonstration
C#
1
star
35

brunobritodev

1
star
36

ThreadPool-Example

An example to show how async / await can improve scalability at ASP.NET
C#
1
star
37

AutoTranslate-ResxJson

C#
1
star
38

node-accesstoken-validation

OAuth 2.0 Bearer token validation. It validate JWT tokens and reference tokens (Introspection) as well. Supports RSA, ECDsa, HMAC.
TypeScript
1
star
39

FIDO2.Demo

Passwordless e Usernameless flows demo integrated with ASP.NET Identity
C#
1
star
40

kubernetes-site

Sample to show how to use Git Volumes
HTML
1
star
41

manga

C#
1
star
42

PathTooLongRemove

App to delete Windows folder with Path Too Long problem
C#
1
star
43

PhotoGPS-Update

This project aims to update the geolocation information of photos using Google Timeline data
C#
1
star
44

NET.Core-ConsoleDocker

An alternative for Web Jobs
C#
1
star
45

ConsoleApp-DockerCron

This demo show up how to build and schedule a .NET Core Console App to run every 15 seconds within a Docker
Dockerfile
1
star