隨著微服務的興起,OAuth2也火了起來,由於其自身的優勢,儼然已成為微服務API服務接口安全防護的首選。
啥是 OAuth2
OAuth2(Open Authorization,開放授權)是OAuth的升級版本。OAuth 是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯繫人列表),而無需將用戶名和密碼提供給第三方應用。
OAuth允許用戶提供一個令牌給第三方網站,一個令牌對應一個特定的第三方網站,同時該令牌只能在特定的時間內訪問特定的資源。
OAuth2 核心概念
OAuth 2.0 主要有4類角色:
resource owner:資源所有者,指終端的“用戶”(user)resource server:資源服務器,即服務提供商存放受保護資源。訪問這些資源,需要獲得訪問令牌(access token)。client:客戶端,代表向受保護資源進行資源請求的第三方應用程序。authorization server: 授權服務器, 在驗證資源所有者並獲得授權成功後,將發放訪問令牌給客戶端。授權碼模式(authorization code)簡化模式(implicit)密碼模式(resource owner password credentials)客戶端模式(client credentials)