Size: a a a

Node.js — русскоговорящее сообщество

2020 February 29

MS

Misha Shandra in Node.js — русскоговорящее сообщество
немного не то, я открываю новое окно с урл сервера, он перекидывает на гугл авторизацию и после выбора аккаунта возвращает ответ на сервер, в /callback. Но окно то остаётся открытым и как потом с сервера передать на осн. сайт, откуда я открыл окно.?
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
Michael
Можно подробней. ЧТо именно гуглить?
если про куку, то
https://expressjs.com/en/resources/middleware/cookie-session.html
ключ domain в конфиге.

если про process.env, то
в точке входа вот так:
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
const dotenvExpand = require('dotenv-expand');
const envs = require('dotenv-safe').config({
 allowEmptyValues: true,
});

dotenvExpand(envs);
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
в файле .env в корне вот так:
COOKIE_DOMAIN=mydomain.com
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
и в приложении можно получать это значение вот так:
process.env.COOKIE_DOMAIN // === 'mydomain.com'
источник

M

Michael in Node.js — русскоговорящее сообщество
Вау спасибо. Щас буду разбираться
источник

M

Michael in Node.js — русскоговорящее сообщество
Алексей Карташов
и в приложении можно получать это значение вот так:
process.env.COOKIE_DOMAIN // === 'mydomain.com'
Сюда нужно дабавить домен фронта или сервера?
источник

u

undefined in Node.js — русскоговорящее сообщество
Misha Shandra
немного не то, я открываю новое окно с урл сервера, он перекидывает на гугл авторизацию и после выбора аккаунта возвращает ответ на сервер, в /callback. Но окно то остаётся открытым и как потом с сервера передать на осн. сайт, откуда я открыл окно.?
Передать данные ты можешь от открытого окна к родителю, а вот на счет закрыть не уверен.
У родительского окна
<a href="https://google.com" target="_blank">click</a>

<script>
window.addEventListener('message', event => {
   console.log(event)
})
</script>

А в открытом окне тебе надо прописать что-то типо
window.opener.postMessage('сообщение', 'url родителя')
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
Michael
Сюда нужно дабавить домен фронта или сервера?
на каком домене у тебя юзер будет сайт открывать?
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
вот его и нужно. но там могут быть нюансы. особенно. если через nginx проксируется - придётся дополнительно погуглить, сходу сейчас точные настройки не подскажу
источник

u

undefined in Node.js — русскоговорящее сообщество
Наконец-то годнота подъехала)
источник

倫岡

倫太郎 岡部 in Node.js — русскоговорящее сообщество
@Atassis godno
источник

CM

Chingiz Mamiyev in Node.js — русскоговорящее сообщество
источник

倫岡

倫太郎 岡部 in Node.js — русскоговорящее сообщество
Он не придет
источник

倫岡

倫太郎 岡部 in Node.js — русскоговорящее сообщество
Как и на то что я писал ночью
источник

倫岡

倫太郎 岡部 in Node.js — русскоговорящее сообщество
Админы покинули этот чат
источник

CM

Chingiz Mamiyev in Node.js — русскоговорящее сообщество
🤔
источник

MS

Misha Shandra in Node.js — русскоговорящее сообщество
undefined
Передать данные ты можешь от открытого окна к родителю, а вот на счет закрыть не уверен.
У родительского окна
<a href="https://google.com" target="_blank">click</a>

<script>
window.addEventListener('message', event => {
   console.log(event)
})
</script>

А в открытом окне тебе надо прописать что-то типо
window.opener.postMessage('сообщение', 'url родителя')
ну window.opener.postM... я могу сделать разве что, как то через сервер. Ну я же не знаю когда там пользователь нажал на кнопку, тогда на сервер просто придёт ответ и разве я могу как то отправить скрипт где будет window.opener.postM... ?  Или меня куда то не туда понесло?
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
Michael
Вау спасибо. Щас буду разбираться
а, ну ещё почитай доку к dotenv-safe - в корень надо положить .env.example, в котором прописать все переменные окружения, которые используются в проекте, но значения у них должны быть ненастоящими. и рядом положить файл .env, в котором все значения должны быть уже настоящими и вот этот файл .env в гит ни в коем случае не добавляй - сразу в .gitignore его пропиши
источник

M

Michael in Node.js — русскоговорящее сообщество
Алексей Карташов
на каком домене у тебя юзер будет сайт открывать?
на localhost:8080
server: localhost:3000
источник