标签: safe-stack

如何在 Fable Elmish SPA 中处理从后端重定向到身份验证提供程序

我有一个 AspNetCore 后端 api(在 F# 和 Giraffe 中),它使用 AzureAD 身份验证和 Microsoft.AspNetCore.Authentication.AzureAD.UI、有状态会话存储和 https only cookie。

前端是使用 Fable 编译为 js 的 Elmish SPA。

如果我只是在 url 栏中输入后端的受保护端点,一切正常,如果尚未登录,我将重定向到 login.microsoft 端点,使用 clientID 等,成功登录后,原始请求完成,我得到了受保护端点的响应。

但是,如果我尝试从 SPA 代码访问相同的端点,例如:使用 fetch 或使用 Fable.Remoting,如果未登录,后端仍会重定向,但重定向到 login.microsoft 的请求不再有效。使用 Fable.Remoting 有一个 CORS 标头,登录端点拒绝。如果我使用 nocors 发送 fetch,登录端点会收到 200 OK 响应,但没有响应正文(例如,登录页面没有 html 代码),而且似乎什么也没发生。

我只是不知道在 SPA 方面应该如何处理,并且无法真正找到任何相关信息。如果从 Fable.Remoting 启动与从浏览器 URL 栏启动,为什么后端会在重定向中包含 CORS 标头?没有响应正文的 fetch-ed 响应有什么问题?我可以只将 js 代码写入我的客户端,但甚至无法弄清楚在纯 js SPA 中如何处理。

还在生产中尝试了整个事情,从等式中删除 webpack devServer 代理,但一切都保持不变。

f# asp.net-core fable-f# elmish safe-stack

7
推荐指数
1
解决办法
344
查看次数

Fable.React - 编辑输入字段将光标移动到文本末尾

我正在使用 SAFE 堆栈的 Elmish.Bridge 风格。

在视图的顶层,我创建了一个这样的输入字段:

Input.input [ Input.Value(model.FieldValue); Input.OnChange(fun e -> dispatch (EditFieldValue(e.Value))) ]
Run Code Online (Sandbox Code Playgroud)

当我通过的中间键入来编辑该字段的值时,模型会按预期更新,但光标也会移动到输入文本的末尾

我的模型有几层深,完全由可序列化的类型(原语、字符串、集合、记录和联合)组成。

我尝试在玩具应用程序中重现它(模型没有那么复杂),但它在那里按预期工作 - 光标保持位置。

有什么方法可以确定为什么光标在这些情况下移动?

f# reactjs fable-f# safe-stack

5
推荐指数
1
解决办法
797
查看次数

如何在寓言中导入图像?

我已经拥有所有 webpack 加载器,所以我需要做的就是这样,但在 F# 中:

import loading from "../images/loading.gif";
Run Code Online (Sandbox Code Playgroud)

这应该是一件容易的事情,我只是迷失在文档中,我主要找到有关[<Import>]属性的信息,这些信息似乎用于其他东西......

f# fable-f# safe-stack

3
推荐指数
1
解决办法
535
查看次数

标签 统计

f# ×3

fable-f# ×3

safe-stack ×3

asp.net-core ×1

elmish ×1

reactjs ×1