一步一步學習IdentityServer3 8

2022-02-22 03:32:12 字數 1458 閱讀 1356

identityserver3結合hangfire及cookies中介軟體實現授權 idr3資料庫token過期管理

globalconfiguration.configuration.usesqlserverstorage("

hangfire");

globalconfiguration.configuration.uselog4netlogprovider();

"/lymtask

", new

dashboardoptions

});new hangfiretask().invoketask();

配置好hangfire中介軟體,這裡我用了log4作為日誌提供

值得注意的是cookies中介軟體必須要在hangfire之前,不然後面授權獲取不到cookies中介軟體中的授權資訊

cookieauthenticationoptions

);

authorization:自定義授權類

下面我們看下lymdashboardauth,是我自定義的乙個授權類

這裡又需要結合owin中介軟體

lymdashboardauth 只需要去實現 hangfire的 idashboardauthorizationfilter 介面
public

class

lymdashboardauth : idashboardauthorizationfilter

return

false

; }

return

false

; }

}

這裡我獲取到了中介軟體中授權情況,我是只有帳號是administrator使用者才能訪問hangfire任務工作台

返回值為bool 是否允許授權 根據業務需要

下面說下 token過期管理任務  new hangfiretask().invoketask();

public

class

hangfiretask

;//////

這裡執行任務計畫

/// public

void

invoketask()

//////

清空授權伺服器過期的token

/// ///

public

async

task cleartoken()

catch

(exception ex)}}

//////

預熱授權

/// ///

public

async

task preheatoauth()

**寫好任務類hangfiretask,裡面寫上清楚token相關任務

一步一步學習IdentityServer3 4

其實上述例子 很多都很找到 但是在實際生態環境中給例子有很多不一樣的地方 比如自定已登入介面怎麼做?怎麼訪問自己的使用者資料庫實現登入?怎麼在介面中使用,在介面中又怎麼實現與idr3結合授權?等等問題 解下來我會在實際專案中整體一步一步介紹 1 這是我自定義登入的介面 2 在授權同意頁面 3 下圖是...

一步一步學習IdentityServer3 3

證書 static class certificate private static byte readstream stream input return ms.toarray clients public class clients allowedcorsorigins new list,all...

一步一步學習IdentityServer3 2

下面就來做乙個例子 identityserver3服務端的配置 vs2015建立乙個mvc專案 idroauth 用來授權的認證的站點 專案建立好了 這裡需要新增幾個nuget包,右鍵我們的專案 新增相關nuget包 identityserver3 microsoft.owin.host.syste...