Как я могу поделиться сеансом входа пользователя в Laravel между двумя проектами [duplicate]

Все целые литералы имеют тип int, поэтому ваша переменная будет int, если вы не добавите или не добавите явный тип классификатора в конце:

var quick = 65535;         // int
var brown = (ushort)65535; // ushort
var fox = 65535L;          // long
5
задан Luuk Van Dongen 8 November 2014 в 21:19
поделиться

4 ответа

  1. Захват идентификатора сеанса Session::getId() в домене A
  2. отправляет захваченный идентификатор сеанса через HTTP POST в домен B
  3. Получает доступ к идентификатору отправленного сеанса в домене B $sessionid_from_domainA = $_POST['session_from_A']
  4. Установить сеанс в домене B Session::setId($sessionid_from_domainA)
  5. Запустить сеанс в домене B Session::start()
6
ответ дан Sharath TS 22 August 2018 в 11:54
поделиться
  • 1
    Я бы хотел, чтобы это было возможно, но это не так. Если это одна и та же установка laravel, но с разными доменами. После входа в приложение из домена A вы не можете отправить запрос POST себе и начать сеанс. – omer Farooq 10 May 2016 в 13:22
  • 2
    Я нашел более простой способ сделать это, проверить мой ответ – Albert 7 November 2016 в 06:53
  1. В домене A создайте такое изображение <img src="https://DOMAINB.com/setcookie?id={{ Session::getId() }}" style="display:none;" />
  2. В домене B создайте такой маршрут:

.

Route::get('setcookie', function(){
  Session::setId($_GET['id']);
  Session::start();
  return 'Cookie created';
});`
  1. Готово, теперь вы можете получить своего пользователя с помощью $user = Auth::User;
2
ответ дан Albert 22 August 2018 в 11:54
поделиться
  • 1
    Для тех, кто использует это, я не уверен, является ли этот метод безопасным, так как Google использовал его, однако теперь они используют OAuth – Albert 19 October 2017 в 06:13
  • 2

Я работаю над чем-то вроде единой системы входа в систему, все еще работаю над поиском решения, но вот начало http://laravel.io/forum/03-14-2014-multiple -domains-how-to-share-login

На laravel вы можете изменить драйвер /app/config/session.php на файл cookie


Изменить:

Это то, что я сделал.

Вы можете делиться файлами cookie через домены, используя пиксельные изображения. Например, когда вы входите в систему на домене1.com, вы хотите создать файл cookie на домен2.com, сразу после входа в домен domain1.com вам нужно иметь что-то вроде этого

<img src="http://www.domain2.com/create-cookie?param=hash">

на домене2.com. выше:

  1. будет проверять сначала, если пользователь зарегистрировался, если его не выполнил вход в систему, прочитает хэш (например, адрес электронной почты), проверьте, есть ли у пользователя это электронное письмо и войдите в систему там также установите cookie
2
ответ дан CatZ 22 August 2018 в 11:54
поделиться
  • 1
    ПРЕДУПРЕЖДЕНИЕ. Не отправляйте электронную почту в виде обычного текста. Это означает, что я могу редактировать тег html и в основном регистрироваться в любой учетной записи в другом домене. Зашифруйте текст, используя ключ приложения. – Albert 7 November 2016 в 06:41

Вы можете вручную указать, какой домен куки-файлы сеанса будут зарегистрированы, и, таким образом, они будут сохраняться на разных сайтах. Просто отредактируйте config/session.php в следующем разделе:

<?php
/*
    |--------------------------------------------------------------------------
    | Session Cookie Domain
    |--------------------------------------------------------------------------
    |
    | Here you may change the domain of the cookie used to identify a session
    | in your application. This will determine which domains the cookie is
    | available to in your application. A sensible default has been set.
    |
    */

    'domain' => null,
?>

Однако вы все еще ограничены одним доменом верхнего уровня . Таким образом, вы можете иметь сеансы совместного доступа store1.shops.com и store2.shops.com, но не myshop.com и shopsmart.com.

Если вам нужно что-то в этом формате, вам, скорее всего, станет лучше, создав службу проверки подлинности и используя токены доступа для проверки учетных данных. Вы также можете посмотреть службы, такие как OneLogin .

1
ответ дан DfKimera 22 August 2018 в 11:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: