1. 程式人生 > >.NET Core IdentityServer4實戰-開篇介紹與規劃

.NET Core IdentityServer4實戰-開篇介紹與規劃

api 博客 是否有效 nginx 訪問 支持 怎樣 驗證 功能

原文:.NET Core IdentityServer4實戰-開篇介紹與規劃

技術分享圖片

一.開篇寄語

  由於假期的無聊,我決定了一個非常有挑戰性的活動,也就是在年假給大家帶來一個基於OAuth 2.0的身份授權框架,它就是 IdentityServer4 ,如果沒有意外的話,一定可以順利的寫完的,如果兩天寫一篇的話!如果覺得期待的話,可以點個收藏,當然如果由於太忙還是怎樣耽誤了寫作效率,請多擔待(我覺得我精力是足夠的!)那麽廢話少說,下面我來介紹一下IdentityServer4是個啥?

二.IdentityServer4介紹

  IdentityServer4是ASP.NET Core 2的OpenID Connect和OAuth 2.0框架,可以做的功能有SSO(單點登陸)、Api 控制、身份認證服務等。它是一個開源的項目,最重要的是IdentityServer可以由你自己定制來適應你的解決方案!這非常的友好。為什麽要有它,在現在雜七雜八的的框架和語言來說,是配一套完美的應用是非常困難,每個模塊由很難統一,所以IdentityServer4就給我們帶來了糖果。

三.大體內容

基於IdentityServer4進行統一認證單點登陸、Api 身份驗證、授權服務、EntityFramework的配置的支持、登錄註銷等。

四.文章

(更新中)

五.為什麽要用它

技術分享圖片

  大多數的應用都如上所示,基本上都是通過客戶端對API進行請求(瀏覽器、Web程序、本機應用程序)等。當你的項目到了一定得範圍和大小之後,就有可能去使用Nginx,這個時候,也必須考慮站點的安全性,因為不能讓你的核心業務信任外界任何的調用.當然還有的時候,我們的擁有自己的一套API,為自己服務進行使用,我們不想讓別人來調用我們的,這個時候也可以進行使用。

  如果使用了IdentityServer4來保護我們的API,項目的層級就變成了這樣。

  技術分享圖片

  例如博客園的一個功能,如果你沒有登錄那就只能訪問博客園公共部分,如果你登錄了,你就可以肆意翺翔,當然這個栗子不是很恰當。。

六.概念

  技術分享圖片

   OpenID :它何我們的身份證一樣,你幹什麽事情都需要身份,那麽XXX想要知道你有沒有問題,就要去查詢下你這個ID有沒有毛病,有毛病就go away,沒毛病就喊老鐵。

   OAuth 2.0 :OAUTH協議為用戶資源的授權提供了一個安全的、開放而又簡易的標準。與以往的授權方式不同之處是OAUTH的授權不會使第三方觸及到用戶的帳號信息(如用戶名與密碼),即第三方無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權,因此OAUTH是安全的。

   OpenId Connect :emmm,例如呢你的網站接入了QQ的第三方登錄,它是被大多程序員叫做身份層,這個大體的協議叫做OIDC。OpenID是Authentication,即認證,對用戶的身份進行認證,判斷其身份是否有效,也就是讓網站知道 “你是你所聲稱的那個用戶”;


七.結語

關於IdentityServer4的項目地址:https://github.com/IdentityServer,官方網站:http://docs.identityserver.io/en/latest/index.html。我是用的IDE是VS2019,當然你用17也可以,如果你用其他版本的,我勸你另尋他處:)

  盡情期待。

.NET Core IdentityServer4實戰-開篇介紹與規劃