簡體   English   中英

僅使用Identity Server 3一次登錄?

[英]Just Single Sign on using Identity Server 3?

我們正在創建8個本機應用程序(IOS,Android,可能是Windows)。 所有這些本機應用程序均具有使用ASP.NET Web Api構建的后端api。 現在,我正在嘗試使用IdentityServer3( https://github.com/IdentityServer/IdentityServer3 )構建單一登錄。 我的用戶數據保存在ASP.NET Identity 2中。我只需要驗證用戶名/密碼(無需外部身份驗證)。 現在我的困惑是

  1. 我需要幾個范圍/要求或不需要范圍/要求? Web API只需要知道保存在ASP.NET Identity表中的用戶ID,用戶角色和用戶聲明。
  2. 我的客戶(本機應用程序)應從SSO服務器請求什么范圍?
  3. 在向我的后端ASP.NET Web-api發送請求期間,它們應在授權標頭中包含id_token還是access_token?
  4. 現在我的后端ASP.NET Web-api應該包括哪些范圍? 我的意思是我應該放在這里

     app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions { Authority = "https://localhost:44333/core", RequiredScopes = new[] { XXXXXX } }); 
  5. SSO服務器是否需要https? 什么是SigningCertificate? 它與https證書有什么關系?

  1. 這取決於您將如何划分API空間以及您的API需要了解有關用戶的哪些信息。
  2. 您的客戶應請求調用api並完成工作所需的范圍。 例如,假設您已將API分為兩部分[讀,寫]。 然后,假設您的客戶端僅要從API讀取數據,則可以在Identity Server中注冊您的客戶端以僅具有讀取范圍。 那么您應該只請求Identity Server為此客戶端提供讀取作用域。
  3. 授權標頭中應僅包含Access_Token
  4. 這應該用於驗證傳入令牌。 它檢查傳入令牌是否包含給定范圍。 您可以在此處跳過聲明,也可以在API控制器方法中使用屬性。
  5. 對於Identity Server,必須使用Https。 簽名證書可以不同於Https證書。 簽名證書用於令牌簽名,而Https用於傳輸安全

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM