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

来源:http://www.cnblogs.com/ideck/archive/2017/08/01/quickstarts_8.html
-Advertisement-
Play Games

IdentityServer4 是一個提供 認證服務,單點登錄/登出(SSO),API訪問控制,聯合認證通道的可定製、免費商業支持的框架。 ...


# 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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • sed用法: 原文鏈接:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一個很好的文件處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將數據行進行替換、刪除、新增、選取等特定工作,下麵先瞭解一下s ...
  • 用戶、組和許可權管理基礎 前言: 開始系統的學習linux已經有三周時間,最近學習了用戶、組和許可權管理的相關基礎知識。我所學的大綱將這三部分內容划到一個章節來學習,因為剛開始學linux所以接觸到的都是一些基礎性的東西。可是雖說是基礎知識,但是這三部分和在一起講內容還是蠻多的,老師上課用的PPT就有洋 ...
  • 首先先不看理論,搭建起環境之後再看; 搭建偽分散式是為了模擬環境,調試方便。 電腦是win10,用的虛擬機VMware Workstation 12 Pro,跑的Linux系統是centos6.5 ,裝的hadoop2.6.0,jdk1.8; 1.準備工作 準備工作:把JDK和Hadoop安裝包上傳 ...
  • Linux簡介及Ubuntu安裝 常用指令 系統管理命令 打包壓縮相關命令 關機/重啟機器 Linux管道 Linux軟體包管理 vim使用 用戶及用戶組管理 文件許可權管理 Linux簡介及Ubuntu安裝 Linux,免費開源,多用戶多任務系統。基於Linux有多個版本的衍生。RedHat、Ubu ...
  • 前言: 記錄 IIS 相關的筆記還是從公司筆試考核題開始的,問 Application Pool 與 AppDomain 的區別? 促使我對進程池進了知識的學習,所以記錄一下學習的筆記。 我們知道現在 .NET 就業來看,80% 的 .NET 程式員都是從事 Web 開發, 如果對微軟唯一(現在不唯 ...
  • 今天看了幾位大佬的博客,學到了一些,現在分享一下,也作為以後的參考 不多說看代碼 1.後臺代碼 定義了實體類,來接收數據 前臺也很簡單 ga感覺這種是最簡單的,全部數據都是從後臺綁定,前臺只負責展示,也是看了好多大佬的文章,才學到的。 下載鏈接:http://pan.baidu.com/s/1skO ...
  • 最近在寫網站,好不容易弄好了需求又變了,沒錯企業的門戶網站硬要弄成後臺管理系統一樣,沒辦法作為小工的我只能默默的改。前臺HTML頁面需要提交數據到後臺處理,又不能用form表單,於是乎研究了1天終於弄出來了。嘗試了好多種方法最後還是用ajax解決了好了廢話不多說了直接進入正題。 ...
  • 《ADO.NET》 1、ADO.NET 是一組類庫。 2、命名空間:System.Data.* 3、ADO.NET 分為:1、數據提供程式 2、數據集 《數據提供程式》1、Connection:用來連接資料庫。 2、Command:用來執行SQL語句。 1、ExecuteNonQuery():執行對 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...