Ras*_*kov 13 c# security authentication thinktecture-ident-server asp.net-web-api2
我正在调查IdentityServer 3如何工作,我仍然有完全理解的问题.
一般来说,概念对我来说很清楚,但我仍然不确定如何在实际项目中实现这一点.
这是我尝试在我的案例中实现的基本示例:link
我有web api项目,我想从任何客户端调用我的api方法(mvc,wpf,phone ...)所以我需要适合所有客户端的实现.
如果我理解得很好(可能我完全不理解),我应该有3个项目:
我的问题是:
编辑:我认为我需要 资源所有者流程.我将该资源用于查看用户输入用户名和密码的位置.
您的基本流程是正确的,Identity Server 充当您的授权服务器,而您的客户端和 Web API 是分开的。
您应该将 Identity Server 托管在其自己的项目中,以确保它与可能引入安全问题的任何其他逻辑分开。如何托管它取决于您和您的用例。通常,您会看到它托管在 IIS 服务器上的 ASP.NET 项目中。
Identity Server 必须了解客户端和用户才能对他们进行身份验证。唯一应该了解您的身份存储(用户)的其他项目是涉及管理、用户注册等事务的任何应用程序。客户端存储仅由 Identity Server 使用。
可以使用 Identity Server 模板或引入您自己的ViewService
. 有关更多信息,请参阅文档:https://identityserver.github.io/Documentation/docsv2/advanced/customizingViews.html
关于流程,资源所有者流程仅是 OAuth,因此不会进行身份验证(登录页面),只有授权(服务器到服务器)。
归档时间: |
|
查看次数: |
12811 次 |
最近记录: |