У меня есть следующий код:
defresource handle-sign-in [redirect-uri]
:available-media-types ["application/json"]
:allowed-methods [:post]
:post! (prn "welcome to post")
:post-redirect? (fn [_] ;;(ring-response
{:location redirect-uri}
;;)
)
)
Когда я отправляю запрос, я получаю ошибки Preflight response is not successful
и XMLHttpRequest cannot load [authorize-uri] due to access control checks.
Когда я оборачиваю карту местоположения перенаправления вокруг кольцевого ответа, однако я я не получаю ошибки, но я не получаю перенаправление в браузере. Что я делаю не так?
- РЕДАКТИРОВАТЬ -
Это моя конфигурация system.components.
(defn config []
{:http-port (Integer. (or (env :port) 5000))
:middleware [[wrap-defaults api-defaults]
wrap-with-logger
wrap-gzip
ignore-trailing-slash
[wrap-reload {:dir "../../src"}]
[wrap-trace :header :ui]
wrap-params
wrap-keyword-params
wrap-cookies
[wrap-cors #".*"]
]})
и вот как выглядит мой новый ресурс:
(defresource handle-sign-in [authorize-uri]
:available-media-types ["application/json"]
:allowed-methods [:post]
:post-redirect? true
:as-response (fn [d ctx]
(-> (as-response d ctx) ;; default implementation
(assoc-in [:headers "Access-Control-Allow-Origin"] "*")
(assoc-in [:headers "Access-Control-Allow-Headers"] "Content-Type")
)
)
:location authorize-uri
)
Но я все еще получаю заголовок "Нет 'Access-Control-Allow-Origin' на запрошенном ресурс." ошибка.