我正在開發的一個項目包含一個Web API,一個單獨的頁面反應應用程序和一個移動應用程序。從每個客戶端,用戶需要提供他們的用戶名和密碼才能訪問Web API的受保護部分。我設置了Identity Server 4身份驗證服務器,該服務器使用我自己的IProfileService和IResourceOwnerPasswordValidator接口,因爲我使用的是ASP.NET Core Identity。這允許Identity Server訪問ASP.NET Core Identity UserManager,RoleManager和SignInManagers以確定提供的用戶名和密碼是否有效。Identity Server 4和ASP.NET Core Identity
我一直在使用的授予類型是「ResourceOwnerPassword」類型。我還沒有完全將授權集成到單頁面應用程序中,但是我可以將用戶的用戶名和密碼傳遞給身份服務器,並且會生成一個令牌,以便將其添加到API請求的標題中。
我已經做了關於Identity Server和相關技術的更多研究,因爲我對所有這些都是新手。似乎不希望使用ResourceOwnerPassword授權類型。從我可以告訴它看起來應該使用隱式授權類型,但我不完全理解用戶名和密碼如何適應該流。有沒有人有任何洞察到我應該使用哪種類型?我所描述的系統只能使用ResourceOwnerPassword授權類型嗎?