我可以使用 IdentityServer4 spa JS UI 而不是 asp .net core mvc 吗?

Posted

技术标签:

【中文标题】我可以使用 IdentityServer4 spa JS UI 而不是 asp .net core mvc 吗?【英文标题】:Can I use IdentityServer4 spa JS UI instead of asp .net core mvc? 【发布时间】:2016-12-28 10:50:53 【问题描述】:

我在 asp .net core mvc 的基础上查看了 IdentityServer4 UI (IdentityServer4.Quickstart.UI) UI 的示例。我还没有找到 spa JS UI 的示例。使用 spa js UI 是否安全,如何使用?

【问题讨论】:

我认为可以做到,但是我没有找到可以工作的原型。我真的无法想象这个非常明显的场景还没有被开发出来。如果您对可能的解决方案感兴趣,请写评论,我会详细阐述我的想法。 你能解决这个问题吗? 我们也对 IdentityServer4 的 SPA(Angular 首选)UI 模板感兴趣。有人找到/创建了一个吗? 【参考方案1】:

SPA 的想法是避免重定向影响服务器。 Open Id Connect 的想法是将每个应用程序重定向到授权端点(即登录页面)并返回。所以答案应该是:

Idp 必须至少有一个服务器驱动页面

其余的大部分都是实用程序页面,可能会移动到 SPA、单独的应用程序等。例如,在套件中,我目前正忙于处理,我们在 SPA 中拥有大部分 UI,包括用户管理等,但是IdSrv 仍然是带有登录/注销和几个错误视图的 MVC。

【讨论】:

【参考方案2】:

简短的回答是否定的,IdentityServer4 是一个针对 ASP.NET Core 的 OpenID Connect 和 OAuth 2.0 框架,根据其 docs。

但是您可以将 SPA UI 作为客户端,这里是 SPA 示例的链接(vanilla JS) https://github.com/IdentityServer/IdentityServer4/tree/master/samples/Clients/src/JsOidc

【讨论】:

【参考方案3】:

是的,有 SPA 示例(香草 JS):https://github.com/IdentityServer/IdentityServer4/tree/main/samples/Clients/src/JsOidc

【讨论】:

谢谢。不完全是我想要的。比如认证服务器不做UI,只留下api方法。服务器 UI 移动到 js 受信任的客户端。 404 页未找到。这是一个断开的链接。请修复它或删除答案。

以上是关于我可以使用 IdentityServer4 spa JS UI 而不是 asp .net core mvc 吗?的主要内容,如果未能解决你的问题,请参考以下文章

IdentityServer4 - 如何从另一个 ApiResource 调用一个 ApiResource

使用没有 Angular 附加库的 IdentityServer4/5

IdentityServer4 给出堆栈溢出错误

无法使用“/connect/authorize”端点从 IdentityServer4 获取授权码

从 ASP.NET Core MVC 项目提供 Angular SPA 时,我可以使用 OIDC 混合流吗?

一段时间后,身份验证 cookie 在反应 SPA 中消失