3

我想从一个小书签访问我用 Yesod 1.2 制作的服务器 API。我想POST从任何其他站点的书签中获取。服务器 API 具有身份验证(通过 Mozilla Persona 和 Google ID)。这表示:

  • 服务器必须接受来自小书签的跨域请求。
  • 服务器需要对来自小书签的 API 访问进行身份验证。

OPTIONS我根据以下内容添加到我的 Handler 中。

https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS

在 Yesod 中允许跨域请求

然而,我注意到,/auth/login即使在用户从浏览器登录之后,请求也会被转发到 Yesod 应用程序(我认为这是有道理的,因为这两个是不同的域)。身份验证在子站点中处理。所以我想我也OPTIONS需要/auth/login。如何在config/routes文件中为 Auth 子站点添加 OPTIONS?

或者,有没有更好的方法从书签进行身份验证?

4

1 回答 1

3

两种方法:

  1. 发送对 yesod-auth 的拉取请求以包含 OPTIONS。
  2. 使用中间件来处理该请求。

我会选择(1),你将使社区受益,并且更容易维护。

于 2013-05-16T12:33:53.667 回答