IdentityServer4 中文文檔 -8- (快速入門)設置和概覽


IdentityServer4 中文文檔 -8- (快速入門)設置和概覽


原文:http://docs.identityserver.io/en/release/quickstarts/0_overview.html

目 錄

上一篇:IdentityServer4 中文文檔 -7- (簡介)貢獻
下一篇:IdentityServer4 中文文檔 -9- (快速入門)使用客戶端憑證保護API

有兩種基礎方式可以開始一個新的 IdentityServer 項目:

  • 從零開始
  • 從 Visual Studio 中的 ASP.NET Identity 模板開始

如果你是從零開始,我們為你提供了一對幫助器和內存存儲,所以你無需在一開始就擔心持久化問題。

快速入門一步一步地介紹了各種常用的 IdentityServer 場景,它們從抽象基礎開始,逐漸復雜 —— 所以建議你按順序去完成它們。

每個快速入門都有對應的解決方案 —— 你可以在快速入門目錄下的 IdentityServer4.Samples 倉庫中找到這些代碼。

基礎設置

屏幕快照顯示的是 Visual Studio —— 但這不是必須的。

創建快速入門 IdentityServer

從創建一個新的 ASP.NET Core 項目開始。

然后選擇 “空” 模板。

注意:IdentityServer 目前只支持 ASP.NET Core 1.1

然后是添加 IdentityServer4 的 nuget 程序包。

此外你還可以在 程序包管理控制台 中運行以下命令來添加這個依賴:

Install-Package IdentityServer4

IdentityServer 使用常規的模式來配置和添加服務到 ASP.NET Core 宿主。在 ConfigureServices 方法中,必要的服務會被配置和添加到 DI 系統。在 Configure 方法中,中間件會被添加到 HTTP 管道中。

像這樣修改你的 Startup.cs 文件:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddIdentityServer()
            .AddTemporarySigningCredential();
    }

    public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
    {
        loggerFactory.AddConsole(LogLevel.Debug);
        app.UseDeveloperExceptionPage();

        app.UseIdentityServer();
    }
}

AddIdentityServer 會將 IdentityServer 注冊到 DI。他還會注冊一個基於內存存儲的運行時狀態,這對於開發場景來說是很有用的。對於生產環境你就需要像數據庫或緩存這些持久化或共享存儲部件。查看 EntityFramework 快速入門可以了解更多這方面的信息。

AddTemporarySigningCredential 擴展方法會在每次啟動時為簽名令牌創建臨時的密鑰材料。再次說明這對於入門是很有用的,但在生產環境下要用一些持久化密鑰材料替換掉它。查看 密碼學文檔 可了解更多這方面的信息。

注意:IdentityServer 還不能夠啟動。事實上當你嘗試啟動它時你應該會看到一個異常說缺少服務。我們將在接下來的快速入門中添加這些服務。

修改宿主

默認情況下 Visual Studio 使用 IIS Express 來掛載你的 Web 項目。這樣做完全沒問題,只是你將無法看到輸出到控制台的實時日志信息。

IdentityServer 廣泛使用了日志,而對於 UI 上可見的或返回給客戶端的錯誤信息則有意模糊。

我們建議在控制台宿主上運行 IdentityServer3。你可以通過切換 Visual Studio 中的啟動配置來實現,你甚至都無需在每次運行 IdentityServer 的時候都啟動一個瀏覽器窗口 —— 你也可以用相同的方式關閉它:

當你切換到 自托管(self-hosting)的時候,Web 服務器端口默認就是 5000。你既可以通過上面對話框中的啟動配置來修改它,也可以以編程的方式在 Program.cs 設置它 —— 在快速入門中,我們使用以下配置來設置 IdentityServer 宿主。

public class Program
{
    public static void Main(string[] args)
    {
        Console.Title = "IdentityServer";

        var host = new WebHostBuilder()
            .UseKestrel()
            .UseUrls("http://localhost:5000")
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();

        host.Run();
    }
}

注意:我們建議將 IIS Express 和 自托管 配置為同一個端口。這樣的話你可以自由地在兩種模式下切換,無需關心和修改你客戶端的任何配置。

如何運行快速入門

如前面所說,每個快速入門都會有對應的解決方案 —— 你可以在快速入門目錄下的 IdentityServer4.Samples 倉庫中找到這些代碼。

運行快速入門解決方案的個別部分最簡單的方式是設置啟動模式為“Current Selection”(當前選中)。右鍵點擊解決方案並選擇“設置啟動項目”。

通常你首先要啟動 IdentityServer,然后是 API,然后是 Client。只有在你想要調試的時候才在調試模式下運行,否則 Ctrl+F5 是運行項目的最佳方式。

目 錄

上一篇:IdentityServer4 中文文檔 -7- (簡介)貢獻
下一篇:IdentityServer4 中文文檔 -9- (快速入門)使用客戶端憑證保護API


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM