Διακομιστής ταυτότητας

IdentityServer Δωρεάν λύση SSO

Πλαίσιο SSO Cross Platform χρησιμοποιώντας το OpenID Connect και το OAuth 2

Ενιαία πινακίδα στο πλαίσιο για την κατασκευή λύσεων ελέγχου πρόσβασης για σύγχρονες εφαρμογές ιστού και API. Απλοποιήστε τη διαχείριση ταυτότητας συγκεντρώνοντας σε ένα μέρος.

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

Το IdentityServer είναι ένα πλαίσιο ανοιχτού κώδικα που χρησιμοποιεί το OpenID Connect και το OAuth 2.0 για να επιτύχει ένα ενιαίο σύμβολο, ενεργεί ως διακομιστής ελέγχου ταυτότητας και εξουσιοδότησης για πολλαπλές εφαρμογές. Το IdentityServer υποστηρίζει τόσο το πλήρες πλαίσιο .NET (4.5.x) όσο και το .NET Core (που είναι διασταυρούμενη πλατφόρμα). Το IdentityServer 4 παίρνει τα οφέλη του .NET Core και μπορεί να αναπτυχθεί χρησιμοποιώντας το Docker σε συστήματα Linux. Ακολουθεί τις προδιαγραφές Open ID Connect και OAuth 2.0 και υποστηρίζει ευρύ φάσμα πελατών όπως κινητά, ιστούς και ιαματικά λουτρά. Είναι βάση δεδομένων Agnostic, ώστε να μπορείτε να χρησιμοποιήσετε οποιοδήποτε back-end της επιλογής σας. Λειτουργεί ως διακομιστής ελέγχου ταυτότητας ο οποίος θα επιτρέψει στους χρήστες να συνδεθούν και να παρέχουν ένα διακριτικό φορέα JWT που μπορεί να χρησιμοποιηθεί για την πρόσβαση σε προστατευμένους πόρους από μια εφαρμογή σπα ή για κινητά. Μπορεί να χρησιμοποιηθεί για την παροχή ελέγχου ταυτότητας για εφαρμογές πολλαπλών μισθωτών, που φιλοξενούνται σε ξεχωριστούς τομείς. Επιτυγχάνει το App SSO χρησιμοποιώντας OIDC (το οποίο είναι ένα στρώμα ελέγχου ταυτότητας πάνω από το OAuth2).

Απαιτήσεις συστήματος


  • ASP.NET CORE 3.0
  • iis / docker

Χαρακτηριστικά


  • έλεγχος ταυτότητας ως υπηρεσία: -Ενιαία σύνδεση /εγγραφή
  • Έλεγχος πρόσβασης για API
  • Υποστηρίζει ομοσπονδιακές ταυτότητες (Google, Facebook κ.λπ.).
  • Προσαρμογή UI
  • Πολλαπλές ροές (έμμεσος, κωδικός εξουσιοδότησης κ.λπ.).
  • Εξουσιοδότηση API
  • Παροχέας βασισμένων σε αξίωση

Εγκατάσταση

Εγκατάσταση απευθείας από το Nuget

Μπορείτε να εγκαταστήσετε απευθείας από το Nuget χρησιμοποιώντας την ακόλουθη εντολή:

    Install-Package IdentityServer4 -Version 4.0.4

Εγκαταστήστε τα πρότυπα IdentityServer4

    dotnet new -i IdentityServer4.Templates  

Προσθήκη αρχείων Quickui και ταυτότητα ASP.NET (προαιρετικά)

    dotnet new is4aspid --force  

Ενημερώστε τη μέθοδο ConfigureServices () στο Startup.cs όπως παρακάτω:

    services.AddControllersWithViews();  

Επίσης, ενημερώστε τη μέθοδο Configure () στο Startup.cs:

    app.UseRouting();  
       
     app.UseIdentityServer();  
     app.UseAuthorization();   
     app.UseEndpoints(endpoints =>  
     {  
     endpoints.MapControllerRoute(  
     name: "default",  
     pattern: "{controller=Home}/{action=Index}/{id?}");  
     });  

Δημιουργήστε και εκτελέστε το έργο Περιηγηθείτε “/.

Τρέξιμο στο Docker

  1. Δημιουργήστε ένα κενό έργο ASP.NET CORE (Ελέγξτε το “Ενεργοποίηση υποστήριξης Docker”)
  2. Βεβαιωθείτε ότι το αρχείο του έργου στοχεύει στο Linux OS Linux
  3. Τροποποιήστε το αρχείο Docker όπως παρακάτω:
        FROM microsoft/dotnet:2.2-runtime AS base  
        WORKDIR /app  
        EXPOSE 80  
        EXPOSE 443  
           
        FROM microsoft/dotnet:2.2-sdk AS build  
        WORKDIR /src  
        COPY \[“JrTech.Identity.Web/JrTech.Identity.Web.csproj“, “JrTech.Identity.Web/”\]  
        RUN dotnet restore “JrTech.Identity.Web/JrTech.Identity.Web.csproj“  
        COPY . .  
        WORKDIR “/src/JrTech.Identity.Web”  
        RUN dotnet build “JrTech.Identity.Web.csproj” -c Release -o /app  
           
        FROM build AS publish  
        RUN dotnet publish “JrTech.Identity.Web.csproj” -c Release -o /app  
           
        FROM base AS final  
        WORKDIR /app  
        COPY –from=publish /app .  
        ENTRYPOINT \[“dotnet”, “JrTech.Identity.Web.dll”\]  
  • Προσθέστε το IdentityServer 4 εκτελώντας την ακόλουθη εντολή:
    dotnet add package IdentityServer4

Εξερευνήστε

Μπορείτε να βρείτε τους ακόλουθους συνδέσμους που σχετίζονται με τους συνδέσμους:

Αυτοματοποιήστε τις επιχειρηματικές λειτουργίες χρησιμοποιώντας δωρεάν λογισμικό και ανοιχτού κώδικα

 Ελληνικά