Giter Club home page Giter Club logo

dorucioclea / jpproject.identityserver4.adminui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from brunobritodev/jpproject.identityserver4.adminui

0.0 2.0 0.0 38.68 MB

:wrench: ASP.NET Core 3 & Angular 8 Administration Panel for :revolving_hearts:IdentityServer4 and ASP.NET Core Identity

Home Page: https://jpproject.azurewebsites.net/admin-ui/

License: MIT License

C# 13.33% TypeScript 25.94% JavaScript 7.55% CSS 25.25% HTML 27.08% Dockerfile 0.58% PowerShell 0.08% Batchfile 0.19%

jpproject.identityserver4.adminui's Introduction

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 version ASP.NET Core 3.0 have changed a lot. So before upgrade read differences between light and full version. At the end it's the same project . 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 Presentation version.

Full Install

Go to this repo and follow instructions there.

Light Install

You will need to create a Client and API resources in you 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.Implicit,
        AllowAccessTokensViaBrowser = true,
        RedirectUris = new[] {
            "http://localhost:4300/login-callback",
            "http://localhost:4300/silent-refresh.html"
        },
        AllowedCorsOrigins = { "http://localhost:4300" },
        IdentityTokenLifetime = 3600,
        LogoUri = "https://jpproject.azurewebsites.net/sso/images/brand/logo.png",
        AuthorizationCodeLifetime = 3600,
        AllowedScopes =
        {
            IdentityServerConstants.StandardScopes.OpenId,
            IdentityServerConstants.StandardScopes.Profile,
            IdentityServerConstants.StandardScopes.Email,
            "jp_api.is4"
        }
    },

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
            }
        }
    }

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

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.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.

jpproject.identityserver4.adminui's People

Contributors

brunobritodev avatar greenkeeper[bot] avatar dependabot-preview[bot] avatar dependabot[bot] avatar akselarzuman avatar alperhankendi avatar teodanilo avatar raminfosystems avatar tracker1 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.