2

我们有两个管理 SPA,可以轻松使用 FusionAuth 模板登录/验证屏幕。这很有用,因为屏幕会在配置时自动反映我们的社交登录,

第三个 SPA 是经过精心设计的,将登录字段放置在动态启动页面上。我正在考虑尝试在我们的启动页面上嵌入 FusionAuth 登录面板,但需要去掉导航栏和背景容器。我认为这将是对 FusionAuth UI Web 布局的全局更改,强制在我们所有的应用程序中使用嵌入。

我们在子域上运行 FusionAuth,因此嵌入可能不会导致太多 CORS 困难。是否有任何其他原因将登录面板直接从 FusionAuth 服务器嵌入到我们的页面中可能不是一个可行的解决方案?

4

1 回答 1

3

您可以在不影响管理 UI 的情况下修改 FusionAuth 登录 UI。如果你去Settings-> System-> UI,你会看到登录 UI 模板都可以修改。

如果您对不同的应用程序有不同的登录 UI 元素,您可以使用client_id模板中的变量来控制布局。这是client_idFusionAuth 应用程序的 OAuth。这些模板是 FreeMarker,因此条件语句可能如下所示:

[#if client_id == 'ee31103f-2fc1-4bb5-ba95-ac543693503e']
  Embeddable HTML/CSS goes here
[#else]
  Standard HTML/CSS goes here
[/#if]

话虽如此,FusionAuth 的 OAuth 登录 UI 可能不容易嵌入到您的第三个 SPA 中,具体取决于您使用的是 iframe 还是 AJAX。最好还是为登录 UI 设置皮肤以匹配您的 UI,并尽可能利用 OAuth 登录工作流程。

另一种解决方案是使用您自己的登录页面,然后调用 FusionAuth API 对用户进行身份验证。

我们一直在探索添加嵌入式登录系统。如果您想为此打开功能请求,您可以将其添加到我们的 Github 问题跟踪器中:https ://github.com/FusionAuth/fusionauth-issues

于 2019-05-30T21:01:42.097 回答