diff --git a/.env.example b/.env.example index 3d607d6e..d403120f 100644 --- a/.env.example +++ b/.env.example @@ -4,3 +4,5 @@ POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres DATABASE_URL=postgresql://postgres@postgres:5432 REDIS_URL=redis://redis:6379/1 +VK_AUTH_REDIRECT_URL=http://localhost/auth/vkontakte/callback +VK_APP_ID=51989509 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index feecb1ce..46171926 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,6 +80,6 @@ jobs: # - name: Load container # run: docker load --input /tmp/bmstu_2024-app.tar - + # - name: Healthcheck # run: make ci-up-healthy diff --git a/app/javascript/controllers/vkid_controller.js b/app/javascript/controllers/vkid_controller.js index 7493ea5c..1796b8a8 100644 --- a/app/javascript/controllers/vkid_controller.js +++ b/app/javascript/controllers/vkid_controller.js @@ -1,32 +1,32 @@ -import { Controller } from "@hotwired/stimulus" - -export default class extends Controller { - static values ={ - pkce: Object - } - - connect() { - const VKID = window.VKIDSDK; - const data = this.pkceValue - const challenge = data.challenge - const state = data.state - // Fetch the JSON data from 'auth/challenge' - // Set VKID config with fetched data - VKID.Config.init({ - app: 51989509, // Идентификатор приложения. - redirectUrl: 'http://localhost:3000/auth/vkontakte/callback', // Адрес для перехода после авторизации. - codeChallenge: challenge, - state: state, - //scope: "friends wall" - }); - // Создание экземпляра кнопки. - const oneTap = new VKID.OneTap(); - // Получение контейнера из разметки. - const container = document.getElementById('VkIdSdkOneTap'); - // Проверка наличия кнопки в разметке. - if (container) { - // Отрисовка кнопки в контейнере с именем приложения APP_NAME, светлой темой и на русском языке. - const res = oneTap.render({ container: container, scheme: VKID.Scheme.LIGHT, lang: VKID.Languages.RUS }) - } - - }}; +import { Controller } from "@hotwired/stimulus" + +export default class extends Controller { + static values ={ + pkce: Object + } + + connect() { + const VKID = window.VKIDSDK; + const data = this.pkceValue; + const challenge = data.challenge; + const state = data.state; + // Fetch the JSON data from 'auth/challenge' + // Set VKID config with fetched data + VKID.Config.init({ + app: window.VK_APP_ID, // Идентификатор приложения. + redirectUrl: window.VK_AUTH_REDIRECT_URL, // Адрес для перехода после авторизации. + codeChallenge: challenge, + state: state, + //scope: "friends wall" + }); + // Создание экземпляра кнопки. + const oneTap = new VKID.OneTap(); + // Получение контейнера из разметки. + const container = document.getElementById('VkIdSdkOneTap'); + // Проверка наличия кнопки в разметке. + if (container) { + // Отрисовка кнопки в контейнере с именем приложения APP_NAME, светлой темой и на русском языке. + const res = oneTap.render({ container: container, scheme: VKID.Scheme.LIGHT, lang: VKID.Languages.RUS }) + } + } +}; diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index c3d6559c..6bd6d5f0 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -1,22 +1,26 @@ - - - - - Where my likes - - <%= csrf_meta_tags %> - <%= csp_meta_tag %> - - <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %> - - - - <%= javascript_include_tag "application", "data-turbo-track": "reload", type: "module" %> - - - <%= render partial: "partial_content/navbar"%> -
- <%= yield %> -
- <%= render partial: "partial_content/footer"%> - + + + + + Where my likes + + <%= csrf_meta_tags %> + <%= csp_meta_tag %> + + + <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %> + + + + <%= javascript_include_tag "application", "data-turbo-track": "reload", type: "module" %> + + + <%= render partial: "partial_content/navbar"%> +
+ <%= yield %> +
+ <%= render partial: "partial_content/footer"%> +