Laravel - Проверьте, аутентифицирован ли пользователь на другом сервере. - PullRequest
0 голосов
/ 27 августа 2018

Допустим, у меня есть сайт laravel на хосте и другой хост только для хранения некоторых конкретных файлов.Во втором хосте я хочу проверить, прошел ли пользователь аутентификацию на сайте laravel, и затем я дал ему доступ к файлу.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Вы можете просто использовать для этого обычный код PHP, не касаясь инфраструктуры Laravel на другом сервере.

Например, создайте свой собственный файл cookie или переменную сеанса, которая содержит токен аутентификации,Измените логику на $authToken = md5($user->username) . "." . md5($user->password);, затем просто добавьте ее в файл cookie или в переменную $_SESSION[].

Отсюда создайте небольшой бэкэнд на другом сервере, который вы используете для хранения, и сделайте что-то вродеэто.

<?php
/////////////
/**
 * Here there should be database connection logic.
 */
/////////////
$posts = (object) $_POST;

if ($_SERVER['REQUEST_METHOD'] == "POST")
{
    $postArray = [
        'authToken',
        'user'
    ];

    foreach($postArray as $post)
    {
        if (!isset($_POST[$post]))
        {
            return false;
        }
    }

    $query = htmlspecialchars("SELECT * FROM users WHERE id=" . $posts->user);

    $result = mysqli_query($connection, $query);

    $row = mysqli_fetch_all($result);

    $db_stack = md5($row['username']) . "." . md5($row['password']);
    if ($posts->authToken != $db_stack)
    {
        return false;
    }

    // Return the requested file here.
}
0 голосов
/ 27 августа 2018

If (Auth :: check ()) $ file = file_get_contents ($ urlToFile);

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