use*_*169 5 windows-authentication asp.net-web-api2 asp.net-core-mvc asp.net-core identityserver4
我正在使用ASP.NET 5制作网站重新架构的原型,我正在讨论使用IdentityServer4进行身份验证和授权.我已经回顾了很多关于设置IdentityServer3和4的示例和文章,如果它能够以正确的方式处理我的客户端的要求,我试图解决这个问题.这是我的要求.
我有3个需要授权的网站.站点1(abc.com)将需要Windows身份验证,并且将使用角色(或转换为声明的角色)进行授权的mvc和webapi调用的组合.站点2(def.com)是一个受信任的站点,它希望在其站点上具有用户名/密码/ rememberme文本框的登录窗口小部件,在提交时将对用户进行身份验证并将其重定向到站点3(xyz.com).站点3也将有自己的登录页面,并将使用声明的mvc和webapi调用的组合.站点2和3将不使用Windows身份验证,并且客户端不希望它们重定向到身份服务器登录屏幕,而是拥有自己的登录屏幕并从具有登录凭据的代码调用身份服务器.
以下是有关此方案和IdentityServer4的问题.
可以设置idsvr4以使客户端收集用户名/密码/ rememberme值并通过代码传递它们以获得mvc和webapi的正确jwt令牌吗?
如果是这样,它可以将它们记录到另一个站点上的mvc和webapi应用程序中吗?
如果是这样,这是否规避了identityserver4的真正目的,因此这是一个坏主意?
如果它可以处理这种情况并且是一个好主意,我如何设置客户端,范围和代码来处理通过代码和重定向登录?
示例非常好,非常受欢迎,但我甚至不确定用什么词汇来搜索这个场景,所以即使指向正确的方向也会有很大的帮助.
不确定这个问题是否仍然有效。但是,是的,我相信你可以做到这一切。
1) 您可以通过在客户端上设置来设置每个客户端可用的 ldp IdentityProviderRestrictions(文档)
1.1) - 不确定你的意思,我相信拥有 idsrv 的要点之一是发送你的身份验证,并且它使未来的网站更容易与相同的服务集成。
2)当使用客户端(应用程序)登录时,您还指定客户端可以访问哪个 apiResource - 并且应用程序需要在登录时将其添加到请求的范围中。因此,如果您的客户端是 mvc 应用程序,您只需添加-中的 ApiResourceAllowedScopes并将其设置request_type为id_token code- 这将为用户提供access_token随每个请求传递到后端 api 的 a。(文档)
2.1) - 这基本上会让用户在两个站点上登录 - 使用访问令牌,表明用户有权使用后端 api。
2.2) - 在我看来,这个流程是 idsrv 伟大的原因之一 - 他们甚至提到这是 idsrv 本身的一个伟大功能。您只需访问 authserver 1 次即可访问所有系统。
至于 pt。3 - 额外查看文档,尝试按照快速入门设置一个空白项目。
要从您自己的登录页面登录,您需要使用授权类型Resource Owner password- 尽管他们不建议出于安全问题这样做(通过线路传输密码) - 但它是受支持的。
| 归档时间: |
|
| 查看次数: |
824 次 |
| 最近记录: |