我们有两个管理SPA,可以轻松使用FusionAuth模板化的登录/验证屏幕。这很有用,因为屏幕在配置后会自动反映我们的社交登录信息,
第三个SPA经过精心设计,将登录字段放在动态初始页面上。我正在考虑尝试将FusionAuth登录面板html嵌入到我们的初始页面中,但是需要剥离导航栏和背景容器。我认为这将是对FusionAuth UI网站布局的全球更改,从而迫使在我们所有应用中使用嵌入。
我们在子域上运行了FusionAuth,因此嵌入可能不会引起很大的CORS困难。还有其他原因导致将登录面板直接从FusionAuth服务器嵌入到我们的页面中可能不是可行的解决方案吗?
答案 0 :(得分:0)
您可以修改FusionAuth登录界面,而不会影响管理界面。如果转到Settings
-> System
-> UI
,您将看到可以全部修改登录UI模板。
如果用于不同应用程序的登录UI元素不同,则可以在模板中使用变量client_id
来控制布局。这是用于FusionAuth应用程序的OAuth client_id
。这些模板是FreeMarker,因此条件语句可能如下所示:
[#if client_id == 'ee31103f-2fc1-4bb5-ba95-ac543693503e']
Embeddable HTML/CSS goes here
[#else]
Standard HTML/CSS goes here
[/#if]
话虽如此,根据您使用的是iframe还是AJAX,FusionAuth的OAuth登录UI可能无法轻松嵌入到您的第三个SPA中。最好为登录界面设置外观以匹配您的用户界面,并在可能的情况下利用OAuth登录工作流程。
另一种解决方案是使用您自己的登录页面,然后调用FusionAuth API对用户进行身份验证。
我们一直在探索添加嵌入式登录系统。如果您想为此打开功能请求,可以在此处的https://github.com/FusionAuth/fusionauth-issues
上将其添加到我们的Github问题跟踪器中