- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发使用 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 的问题。
是否可以将 idsvr4 设置为让客户端收集用户名/密码/记住值并将其通过代码传递给 为 mvc 和 webapi 获取正确的 jwt token 吗?
如果可以的话可以吗 将它们登录到另一个站点上的 mvc 和 webapi 应用程序中?
如果是这样,这是否绕过了identityserver4的真正目的 因此这是一个坏主意吗?
如果它可以处理这种情况并且是一个好主意,我将如何设置客户端、范围和代码来通过代码和重定向处理登录?
示例很棒,非常受欢迎,但我什至不确定使用什么语言来搜索这个场景,所以即使为我指明正确的方向也会有很大帮助。
最佳答案
不确定此问题是否仍然有效。但是,是的,我相信你可以做到这一切。
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/
在登录并同意后使用任何标准身份提供者(谷歌、Facebook)时,他们会重定向到我的主要身份服务器,并让它重定向到在其中注册的隐式客户端。我如何使用另一个身份服务器作为外部身份提供者实现相同的行为?
我正在开发一个 SPA Web 应用程序,并且我正在使用 IdentityServer4 代码流来处理授权。所以我有以下组件: Angular 客户端应用程序,https://localhost:50
我正在设置 IdentityServer 的一个新实例作为身份提供者。登录时,我想在我的用户对象上设置一些额外的自定义声明。现在,我正在使用以下代码: [HttpPost] public async
我正在尝试遵循本指南 https://identityserver.github.io/Documentation/docs/advanced/customizingViews.html通过将 ass
当使用 IdentityServer 3 时签名证书(用于签名 jwt token )过期会发生什么? 我不清楚,我找不到任何文档,除了可能会收到它已过期的警告。 (Ref. https://iden
我有一个使用 IdentityServer4 进行 token 验证的 API。 我想使用内存中的 TestServer 对这个 API 进行单元测试。我想在内存中的 TestServer 中托管 I
我正在尝试将 Identity Server 4 与 Ocelot 集成并对 WebApp (asp.net core 3.1) 进行身份验证,然后在请求通过身份验证时访问 api。 为此我创建了一个
如果您有多个客户端和一个处理用户身份验证的中央 IdentityServer 4 实例,您将如何管理各个客户端的用户配置文件? 当前情况: 用户点击“管理个人资料” 用户被重定向到 IdentityS
我正在开发一个带有 angular 的前端应用程序和一个带有 Asp.Net Core 的后端应用程序,其中包含用于身份验证的 IdentityServer4(基于此 github project)。
我有一个包含用户的数据库,我该如何开始使用 IdentityServer 创建我的用户的自定义实现?我看到的所有示例都使用了用值硬编码的 InMemoryUser。 有人可以关注this作为指南? 最
我们公司有一个 SSO 应用程序,我希望用 IdentityServer4 或 3 替换大部分身份验证管道。我要替换的版本有自己的动态客户端注册自定义实现(不符合规范)和一个 UI 来管理它。 有nu
我正在使用 IdentityServerV3 对少数客户端的用户进行身份验证。我在配置 IdentityServer 时遇到问题,特定的 user 必须能够登录到特定的“客户端”。 让我们来看下面的场
目前我们正在使用 JWT token 进行身份验证(有效),但我想使用引用 token 。目前我们的配置是这样的: public static class Config { ///
我在启动 IdentityServer 3 时遇到问题。这是一个非常简单的设置,我打算将其用于开发环境,但我在诊断问题时遇到了问题。这是我的代码: Startup.cs using Owin;
我正在使用来自 IdentityServer 4 实例的 OAuth2。基于this example ,我能够登录并调用服务器托管的 API。 如何在不显示提示用户确认注销的 Web View 的情况
我是 IdentityServer 3 的新手,示例和教程使用的是 InMemory 用户、客户端和范围,但我需要这些来自 DB。所以我做了: 启动.cs public void Configurat
我一直在阅读和观看有关 Identity Server 4 的大量内容,但我仍然对它感到有些困惑,因为它似乎有太多的事件部分。 我现在明白这是一个单独的项目,它负责对用户进行身份验证。我仍然不明白的是
我似乎无法理解为什么我会从 IdentityServer 获得 unauthorized_client。我将 oidc-client 与 Angular 4 ui 和 Web API 的 asp.ne
我在 IdentityServer 中设置了以下客户端: new Client { ClientName = "My web application", Enabled = true,
在本地,我有一组 Web 应用程序都可以通过一次登录访问。 为此,我采用了 Identity Server 4。 一旦应用程序发布在本地服务器上,无法远程访问,我就通过 openssl 生成了一个 S
我是一名优秀的程序员,十分优秀!