Включение CORS с использованием F # и ASP.NET - PullRequest
0 голосов
/ 12 сентября 2018

Как включить 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 Ответ

0 голосов
/ 12 сентября 2018

В вашем 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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...