IdentityServer4 登入使用資料庫

2021-09-22 13:05:33 字數 985 閱讀 8552

業務場景:

identityserver4 預設使用testuseruserstore,需要模擬和載入所有的使用者資料,正式環境肯定不能這樣實現,我們想從自己的資料庫中讀取使用者資訊,另外,因為 identityserver4 實現了 openid 協議,我們想在使用者登入的時候,在請求中新增使用者的一些額外資訊,這樣就不需要再去請求使用者服務了。

具體實現:

using

identityserver4.models;

using

identityserver4.services;

using

system.linq;

using

system.threading.tasks;

public

class

profileservice : iprofileservice}}

public

async task

isactiveasync

(isactivecontext context)

}

startup新增對應配置(注入服務介面):

public

void

configureservices

(iservicecollection services)

上面**,會在await _interaction.grantconsentasync(request, grantedconsent);執行的時候執行,使用者登入直接訪問資料庫寫在login中,就可以了。

如果授權模式為密碼模式,需要去實現iresourceownerpasswordvalidator介面。

Identity Server4學習筆記

學習參考資料 博文 學習前的預備知識 oauth 2.0 的乙個簡單解釋 和 oauth 2.0 的四種方式 這個博主的文非常適合做課後總結 因為以上的博文其實已經很詳細了,我也就記一下學習過程中老是誤解的部分。oauth 2.0是乙個委託協議,它可以讓那些控制資源的人允許某個應用以代表他們來訪問他...

授權認證(IdentityServer4

區別 openid authentication 認證 oauth aurhorize 授權 輸入賬號密碼,qq確認輸入了正確的賬號密碼可以登入 認證 下面需要勾選的核取方塊 獲取暱稱 頭像 性別 授權 openid 當你需要訪問a 的時候,a 要求你輸入你的openid,即可跳轉到你的openid...

Identity Server4學習系列一

一 前言 這是官方文件的位址 二 簡介 1 常見的 的互動方式如下 1 瀏覽器與web應用程式互動。單站點應用程式,乙個站點搞定所有的東西,常見的有mvc webform等等,這類一般不存在多客戶端之說,因為頁面和後台處理程式是強耦合的,也就是說,這個時候我們的後台處理程式只處理對應的頁面,不能給其...