gpt4 book ai didi

asp.net-web-api2 - asp.net 5 和 IdentityServer4

转载 作者:行者123 更新时间:2023-12-02 19:49:51 25 4
gpt4 key购买 nike

我正在开发使用 ASP.NET 5 进行站点重新架构的原型(prototype),并且正在讨论使用 IdentityServer4 进行身份验证和授权。我已经审阅了很多有关设置 IdentityServer3 和 4 的示例和文章,并且正在尝试了解它是否能够以正确的方式处理客户的要求。这是我的要求。

我有 3 个网站需要授权。站点 1 (abc.com) 将需要 Windows 身份验证,并且将是使用角色(或转换为声明的角色)进行授权的 mvc 和 webapi 调用的组合。站点 2 (def.com) 是一个受信任的站点,需要在其站点上使用带有用户名/密码/rememberme 文本框的登录小部件,提交后将对用户进行身份验证并将其重定向到站点 3 (xyz.com)。站点 3 也将有自己的登录页面,并且将是使用声明的 mvc 和 webapi 调用的组合。站点 2 和 3 将不使用 Windows 身份验证,并且客户端不希望它们重定向到身份服务器登录屏幕,而是拥有自己的登录屏幕并使用凭据从代码中调用身份服务器进行登录。

这是我关于此场景和 IdentityServer4 的问题。

  1. Idsvr4 可以使用 Windows 身份验证处理一个客户端吗? 另一个使用用户名/密码身份验证?
    • 如果有的话,有没有在 idsvr4 中使用 Windows 身份验证的原因还是应该使用标准Web 应用程序中的 Windows 身份验证?
  2. 是否可以将 idsvr4 设置为让客户端收集用户名/密码/记住值并将其通过代码传递给 为 mvc 和 webapi 获取正确的 jwt token 吗?

    • 如果可以的话可以吗 将它们登录到另一个站点上的 mvc 和 webapi 应用程序中?

    • 如果是这样,这是否绕过了identityserver4的真正目的 因此这是一个坏主意吗?

  3. 如果它可以处理这种情况并且是一个好主意,我将如何设置客户端、范围和代码来通过代码和重定向处理登录?

示例很棒,非常受欢迎,但我什至不确定使用什么语言来搜索这个场景,所以即使为我指明正确的方向也会有很大帮助。

最佳答案

不确定此问题是否仍然有效。但是,是的,我相信你可以做到这一切。

1) 您可以通过在客户端 ( docs ) 上设置 IdentityProviderRestrictions 来设置每个客户端可用的 ldp

1.1) - 不确定你的意思,我相信拥有 idsrv 的要点之一是发送你的身份验证,并且它使 future 的网站更容易与相同的服务集成。

2) 当使用客户端(应用程序)登录时,您还指定客户端可以访问哪个 apiResource - 并且应用程序需要在登录时将其添加到请求的范围中。因此,如果您的客户端是 mvc 应用程序,您只需在 AllowedScopes 中添加 ApiResource - 并将 request_type 设置为 id_token code - 这将为用户提供一个 access_token 随每个请求一起传递到后端 api。 ( docs )

2.1) - 这基本上会让用户在两个站点上登录 - 使用访问 token 来表示用户有权使用后端 api。

2.2) - 在我看来,这个流程是 idsrv 伟大的原因之一 - 他们甚至提到这是 idsrv 本身的一个伟大功能。您只需访问 authserver 1 次即可访问所有系统。

至于pt。 3 - 额外查看文档,尝试按照快速入门设置一个空白项目。

要从您自己的登录页面登录,您需要使用授权类型资源所有者密码 - 尽管出于安全问题他们不建议这样做(通过线路传输密码) - 但支持。

关于asp.net-web-api2 - asp.net 5 和 IdentityServer4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com