Identity Server 的目的是認證和授權,我們需要理解認證和授權的工作過程。這就需要了解OAuth 2.0的四種授權模式,下面這張圖是授權碼模式的工作過程,至少我在一開始看得一頭霧水:
現在我們使用新搭建好得認證服務和管理應用來理解這個工作過程。
首先代入一下圖中的變量:
- Resource Owner: 我自己
- User-Agent: 我正在使用的瀏覽器
- Client: Admin目錄下的管理應用,運行在http://localhost:4003
- Authorization Server: STS目錄下的認證服務,運行在http://localhost:4010
好了,現在我們可以按照圖上的步驟,使用以代入變量解釋 A-E的工作過程。
A:我在瀏覽器輸入http://localhost:4003訪問管理應用,管理應用會通知瀏覽器重定位到認證服務http://localhost:4010
我們看一下是不是這樣子,在瀏覽器中輸入http://localhost:4003,發現確實重定位到認證服務器的登錄頁面:

B:我在登錄頁面輸入用戶名密碼,瀏覽器發送給認證服務器進行認證。
C:認證服務器返回授權碼,瀏覽器重定位到管理應用(http://localhost:4003)
這個過程我們可以在瀏覽器的控制台中看到:
下面的過程是管理應用和認證服務在后台進行的,等到我們編寫了客戶端對Web Api進行訪問的時候就可以遇到。
D:管理應用使用授權碼向認證服務申請Access Token。
E:認證服務返回Access Token
初步理解了這個工作過程,下一步可以試着編寫一個客戶端,通過認證服務進行認證了。