IDサーバー

IdentityServer 無料のSSOソリューション

OpenID ConnectとOAuth2を使用したクロスプラットフォームSSOフレームワーク

最新のWebアプリケーションとAPI用のアクセス制御ソリューションを構築するためのシングルサインオンフレームワーク。 1つの場所に集中することにより、認証管理を簡素化します。

概要

IdentityServerは、OpenID ConnectとOAuth 2.0を使用して単一サインオンを実現するオープンソースフレームワークであり、複数のアプリケーションの単一認証および認証サーバーとして機能します。 IdentityServerは、完全な.NETフレームワーク(4.5.x)と.NETコア(クロスプラットフォーム)の両方をサポートしています。 IdentityServer 4は.NET Coreの利点を取り、Linux SystemsのDockerを使用して展開できます。 Open ID ConnectおよびOAuth 2.0の仕様に従い、モバイル、Web、スパなどの幅広いクライアントをサポートします。データベースが不可知論されるため、選択したバックエンドを使用できます。ユーザーがサインインできる認証サーバーとして機能し、SPAまたはモバイルアプリから保護されたリソースにアクセスするために使用できるJWTベアラートークンを提供します。別々のドメインでホストされたマルチテナントアプリの認証を提供するために使用できます。 OIDCを使用してAPP SSOを実現します(OAUTH2の上に認証レイヤーです)。

システム要求


-ASP.NETコア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 IDを追加する(オプション)

    dotnet new is4aspid --force  

startup.csのconfigureServices()メソッドを以下に更新します。

    services.AddControllersWithViews();  

また、startup.csでconfigure()メソッドを更新します。

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

プロジェクトを構築して実行します 「/.well-known/openid-configuration」を参照して、ディスカバリーエンドポイントが稼働していることを確認します。

dockerでランニング

1.空のASP.NETコアプロジェクトを作成します(「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”\]  

*次のコマンドを実行して、IDSERVER 4を追加します。

    dotnet add package IdentityServer4
 日本