Как Google управляет sso через несколько доменов [google.com, youtube.com] - PullRequest
0 голосов
/ 09 мая 2018

Когда мы заходим в гугл. Он установил куки для Google и домена YouTube. В сети я вижу два интересных вызова get,

  1. https://mail.google.com/accounts/SetOSID?authuser
  2. https://accounts.youtube.com/accounts/SetSID.

Как мне добиться таких же результатов?

Мне нужно установить файл cookie для веб-сайта, например youtube.com, с веб-сайта, например google.com.

Я попытался сделать XMLHttpRequest (). Это не сработало. Но если я открою свой второй домен в отдельной вкладке, он установит cookie для второго домена.

My request header :
Request URL: https://mysite.ngrok.io/SetSID?params=xyz
Request Method: GET
Status Code: 302 Found
Remote Address: xx.xx.xxx.xxx:xxx
Referrer Policy: no-referrer-when-downgrade


My Response Header :
Access-Control-Allow-Headers: X-Requested-With
Access-Control-Allow-Origin: *
Content-Length: 184
Content-Type: text/plain; charset=utf-8
Date: Wed, 09 May 2018 16:29:34 GMT
Location: https://mysite.ngrok.io/SetSID/callback?params=xyz
set-cookie: _cookie=sample; Path=/; HttpOnly
Vary: Accept
X-Powered-By: Express

Если мы проверяем консоль, тип запроса является двоичным.

Это как-то помогло им достичь текущей цели?

enter image description here

  1. Этот API получил https://myaccount.google.com/accounts/SetOSID?authuser=1&continue=https%3A%2F%2Faccounts.youtube.com%2Faccounts%2FSetSID

  2. , а затем API https://accounts.youtube.com/accounts/SetSID?ssdc=1&sidt=xxx&continue=https://mail.google.com/mail/u//?authuser

Если я не ошибаюсь, Google загружает https://accounts.youtube.com за доли секунды и устанавливает файлы cookie. Затем он продолжает mail.google.com. (см. параметры в продолжение)

...