我在嘗試構建一個由IdentityServer4處理身份驗證/授權的ASP.NET Core API。 IdentityServer4由Identity和Entity Framework Core支持。我的目標是相當標準和熟悉的設置,用戶可以登錄到API開發者門戶網站,在那裏他們可以添加「應用程序」(客戶端)並生成客戶端ID和客戶端密鑰,然後可以使用它們訪問API,類似的以及Facebook,Google等如何處理API訪問。將客戶端與用戶關聯起來
我的思維障礙正以IdentityServer處理實體框架集成的方式出現。他們的實體附屬於兩個不同的背景,ConfigurationDbContext
和PersistedGrantDbContext
。我不知道如何將IdentityServer4.EntityFramework中的一個或多個Client
實體與我的Identity上下文中的一個或多個ApplicationUser
實體相關聯。
這似乎是一個相當常見的使用場景,但文檔卻奇怪地沉默。經過各種搜索後,我也無法在網上找到任何東西。我希望有人需要這個相同的設置,並可以給我一些關於如何進行的建議。
我不認爲你明白我在問什麼。我知道用戶和客戶之間沒有關聯。這就是重點。授權API將通過客戶端憑證進行處理。我需要爲用戶提供一種管理他們將創建的一組客戶端以使用API的方式。想想Facebook的API。您登錄到他們的開發者門戶並創建一個或多個「應用程序」。這些應用程序實際上只是IdentityServer說法中的客戶端。他們有一個身份證和一個祕密,並允許您訪問某些Facebook API範圍。這正是我期望創造的。 –
好的 - 你想建立某種自助式管理門戶。這很好 - IdentityServer本身沒有任何幫助你。 – leastprivilege
我並不想困難,但我並不期望IdentityServer爲我處理這件事。問題的關鍵是我試圖找出最佳的方式來創建我的Identity用戶和來自IdentityServer的'Client'之間的某種關係。因爲,上下文是分開的,我不知道該怎麼做,希望得到一點指導,或者比我目前的思維過程更好。 –