Включение CORS с использованием F# и ASP.NET
Как включить CORS с использованием F# и ASP.NET. Я пытаюсь аутентифицировать пользователя с помощью Google, но в консоли браузера появляется следующая ошибка:
В запрошенном ресурсе отсутствует заголовок "Access-Control-Allow-Origin". Источник ' http://localhost:8080/', следовательно, не имеет доступа. Если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса "no-cors", чтобы получить ресурс с отключенным CORS.
Воспроизводимый пример здесь https://github.com/sashang/safe-google-auth
Он использует F# и инфраструктуру SAFE, поэтому вам понадобятся эти настройки, если вы хотите попытаться воспроизвести это.
Вам также необходимо настроить идентификатор клиента и секрет с помощью API Google+ ( https://console.cloud.google.com/apis/library/plus.googleapis.com).
Как только это будет сделано, добавьте его в свою среду:
Bash:
export GOOGLE_ID="client id"
export GOOGLE_SECRET="client secret"
Windows Powershell:
$Env:GOOLGE_ID="client id"
$Env:GOOGLE_SECRET="client secret"
Чтобы построить его клонировать репо и запустить
fake build --target run
Затем нажмите на кнопку Auth with Google
с открытым окном консоли браузера, чтобы увидеть ошибку.
1 ответ
В вашем Server.fs
ты не звонишь своему configure_cors
метод
let app google_id google_secret =
application {
url ("http://0.0.0.0:" + port.ToString() + "/")
use_router webApp
memory_cache
use_static publicPath
service_config configureSerialization
use_gzip
use_google_oauth google_id google_secret "/oauth_callback_google" []
//use_cors "localhost:8080" configure_cors
configure_cors // Add this line to your program
}