IdentityServer4是ASP.NET Core 2的OpenID Connect和OAuth 2.0框架。它可以在您的應(yīng)用程序中提供以下功能:
它使你的應(yīng)用程序具有如下特點(diǎn):
認(rèn)證即服務(wù)
適用于所有應(yīng)用程序(web, native, mobile, services)的集中登錄邏輯和工作流程。IdentityServer是OpenID
Connect的官方認(rèn)證實(shí)現(xiàn)。
單點(diǎn)登錄/注銷
多個(gè)類型的應(yīng)用程序在一個(gè)點(diǎn)進(jìn)行登錄和注銷操作。
API 訪問控制
為各種類型的客戶端頒發(fā)API的訪問令牌,例如 服務(wù)器到服務(wù)器、Web應(yīng)用程序,SPA、本地應(yīng)用和移動(dòng)應(yīng)用程序。
聯(lián)合網(wǎng)關(guān)
支持Azure Active
Directory,Google,F(xiàn)acebook等外部身份提供商。這可以保護(hù)您的應(yīng)用程序免受如何連接到這些外部提供商的詳細(xì)信息的影響。
專注于定制
最重要的部分 -
IdentityServer的許多方面都可以根據(jù)您的需求進(jìn)行定制。由于IdentityServer是一個(gè)框架而不是現(xiàn)成的產(chǎn)品或SaaS,因此您可以編寫代碼以使系統(tǒng)適應(yīng)您的方案。
成熟的開源
IdentityServer使用的Apache 2開源協(xié)議,允許在其上構(gòu)建商業(yè)產(chǎn)品。它也是.NET Foundation的一部分,它提供治理和法律支持。
免費(fèi)和商業(yè)支持
如果您需要幫助構(gòu)建或運(yùn)行您的身份平臺(tái),請(qǐng)告知IdentityServer官方。 他們可以通過多種方式為您提供幫助。
一.整體介紹
現(xiàn)代應(yīng)用程序看起來更像這個(gè):
最常見的相互作用:
* 瀏覽器與Web應(yīng)用程序的通信 Browser -> Web App
* Web應(yīng)用程序與Web API通信
* 基于瀏覽器的應(yīng)用程序與Web API
* 本機(jī)應(yīng)用程序與Web API進(jìn)行溝通
* 基于服務(wù)器的應(yīng)用程序與Web API
* Web API與Web API通信
通常,每個(gè)層(前端、中間層和后端)必須保護(hù)資源并實(shí)現(xiàn)身份驗(yàn)證或授權(quán)——通常針對(duì)同一個(gè)用戶存儲(chǔ)區(qū)。
?
將這些基本安全功能外包給安全令牌服務(wù)可以防止在這些應(yīng)用程序和端點(diǎn)上復(fù)制該功能。
?
應(yīng)用支持安全令牌服務(wù)將引起下面的體系結(jié)構(gòu)和協(xié)議:
這樣的設(shè)計(jì)將安全問題分為兩部分:
二.認(rèn)證(Authentication)
認(rèn)證可以讓一個(gè)應(yīng)用程序知道當(dāng)前用戶的身份。?通常,這些應(yīng)用程序代表該用戶管理數(shù)據(jù),并且需要確保該用戶只能訪問允許他訪問的數(shù)據(jù)。最常見的示例是Web應(yīng)用程序,但基于本地和基于js的應(yīng)用程序也需要進(jìn)行身份驗(yàn)證。
?
最常用的認(rèn)證協(xié)議saml2p、WS-Federation和OpenID,saml2p協(xié)議是最流行和實(shí)際應(yīng)用最多的。
OpenID Connect對(duì)于現(xiàn)在應(yīng)用來說是被認(rèn)為是未來最有潛力的,這是專為移動(dòng)應(yīng)用場(chǎng)景設(shè)計(jì)的,一開始就被設(shè)計(jì)成對(duì)移動(dòng)應(yīng)用場(chǎng)景友好。
?
三.API訪問
應(yīng)用程序有兩種基本方式與API進(jìn)行通信,一種是使用應(yīng)用程序標(biāo)識(shí),另一種是委托用戶的身份。有時(shí)這兩種方法都需要結(jié)合。
OAuth2協(xié)議,它允許應(yīng)用程序從一個(gè)安全令牌服務(wù)要求訪問令牌,使用這個(gè)訪問令牌來訪問API。這個(gè)機(jī)制降低了客戶機(jī)應(yīng)用程序和API的復(fù)雜性,因?yàn)樯矸蒡?yàn)證和授權(quán)可以是集中式的。
?
四.OpenID Connect 和 OAuth 2.0 結(jié)合
?OpenID Connect 和 OAuth 2.0非常相似,事實(shí)上OpenID Connect 是在OAuth
2.0之上的一個(gè)擴(kuò)展。兩個(gè)基本的安全問題,認(rèn)證和API訪問,被組合成單個(gè)協(xié)議,通常只需一次往返安全令牌服務(wù)。
?我們認(rèn)為OpenID Connect和OAuth
2.0的組合是可預(yù)見在未來是保護(hù)現(xiàn)代應(yīng)用程序的最佳方法。IdentityServer4是這兩種協(xié)議的實(shí)現(xiàn),并且被高度優(yōu)化以解決當(dāng)今移動(dòng)應(yīng)用、本地應(yīng)用和web應(yīng)用的典型安全問題
?
五.IdentityServer4可以幫助你做什么
IdentityServer是將規(guī)范兼容的OpenID Connect和OAuth 2.0端點(diǎn)添加到任意ASP.NET
Core應(yīng)用程序的中間件。通常,您構(gòu)建(或重新使用)包含登錄和注銷頁面的應(yīng)用程序,IdentityServer中間件會(huì)向其添加必要的協(xié)議頭,以便客戶端應(yīng)用程序可以與其對(duì)話
使用這些標(biāo)準(zhǔn)協(xié)議。
我們通常建議通過僅包含認(rèn)證相關(guān)的UI來使攻擊面盡可能小。
?
熱門工具 換一換