GithubHelp home page GithubHelp logo

laravel-mongodb-session's People

Contributors

arthurkirkosa avatar cammoking avatar duxet avatar jenssegers avatar mello21century avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

laravel-mongodb-session's Issues

Getting error due to missing implementation of getDefaultDriver after 4.2 upgrade

I am getting the error message bellow after upgrading to Laravel 4.2. When I looked into the error message it is due to missing implementation of getDefaultDriver method.

{"error":{"type":"Symfony\Component\Debug\Exception\FatalErrorException","message":"Class Jenssegers\Mongodb\Session\SessionManager contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Illuminate\Support\Manager::getDefaultDriver)","file":"G:\Workspace\Luukal Workspace\lk-dev\vendor\jenssegers\mongodb-session\src\Jenssegers\Mongodb\Session\SessionManager.php","line":73}}

Does not work with Laravel 5

  • The laravel-mongodb (for Laravel 5) repo links here
  • it can be installed in Laravel 5
  • and composer.json seems to suggest it should work - "illuminate/session": "~4.0|~5.0",

however it crashes whenever the driver is selected - some incompatibility with the Symfony session driver.

Error is thrown in Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandler on line 73.

CSRF filter always failing

When I use mongodd as the session driver the csrf filter grinds to a halt completely.

I have tried and used the file,cookie and array as the session driver and the CSRF filter worked just fine.

Can`t install on L5

Your requirements could not be resolved to an installable set of packages.

Problem 1
- Conclusion: remove laravel/framework v5.0.13
- jenssegers/mongodb-session v1.0.0 requires illuminate/session 4.* -> satisfiable by illuminate/session[v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.16, v4.1.17, v4.1.18, v4.1.19, v4.1.2, v4.1.20, v4.1.21, v4.1.22, v4.1.23, v4.1.24, v4.1.25, v4.1.26, v4.1.27, v4.1.28, v4.1.29, v4.1.3, v4.1.30, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.1, v4.2.12, v4.2.16, v4.2.17, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9].
- jenssegers/mongodb-session v1.0.1 requires illuminate/session 4.* -> satisfiable by illuminate/session[v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.16, v4.1.17, v4.1.18, v4.1.19, v4.1.2, v4.1.20, v4.1.21, v4.1.22, v4.1.23, v4.1.24, v4.1.25, v4.1.26, v4.1.27, v4.1.28, v4.1.29, v4.1.3, v4.1.30, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.1, v4.2.12, v4.2.16, v4.2.17, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9].
- jenssegers/mongodb-session v1.0.2 requires illuminate/session 4.* -> satisfiable by illuminate/session[v4.0.0, v4.0.1, v4.0.10, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.16, v4.1.17, v4.1.18, v4.1.19, v4.1.2, v4.1.20, v4.1.21, v4.1.22, v4.1.23, v4.1.24, v4.1.25, v4.1.26, v4.1.27, v4.1.28, v4.1.29, v4.1.3, v4.1.30, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.1, v4.2.12, v4.2.16, v4.2.17, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9].
- don't install illuminate/session v4.0.0|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.1|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.10|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.2|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.3|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.4|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.5|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.6|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.7|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.8|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.0.9|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.0|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.1|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.10|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.11|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.12|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.13|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.14|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.15|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.16|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.17|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.18|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.19|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.2|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.20|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.21|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.22|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.23|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.24|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.25|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.26|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.27|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.28|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.29|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.3|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.30|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.4|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.5|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.6|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.7|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.8|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.1.9|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.1|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.12|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.16|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.17|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.2|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.3|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.4|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.5|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.6|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.7|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.8|don't install laravel/framework v5.0.13
- don't install illuminate/session v4.2.9|don't install laravel/framework v5.0.13
- Installation request for laravel/framework == 5.0.13.0 -> satisfiable by laravel/framework[v5.0.13].
- Installation request for jenssegers/mongodb-session ~1.0 -> satisfiable by jenssegers/mongodb-session[v1.0.0, v1.0.1, v1.0.2].

Driver [mongodb] not supported.

Hi Jens!

I have a problem...

(...)/auth.php

'driver' => 'mongodb',

(...)/session.php

'driver' => 'mongodb',

'connection' => 'mongodb',

OUTPUT Mongo -> db.sessions.find():

{ "_id" : "7iejho7kilhbtu3cquqh3tj6q1", "last_activity" : ISODate("2013-10-27T18:51:21.776Z"), "payload" : BinData(2,"5QAAAF9zZjJfYXR0cmlidXRlc3xhOjI6e3M6NjoiX3Rva2VuIjtzOjQwOiJQZ1JjR0hvOEl2M2tEMFh5ekxYaXNRNU1LT2x2VUN2WjNvNzU2Z0daIjtzOjU6ImZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX1fc2YyX2ZsYXNoZXN8YTowOnt9X3NmMl9tZXRhfGE6Mzp7czoxOiJ1IjtpOjEzODI4OTk4ODE7czoxOiJjIjtpOjEzODI4OTczMDk7czoxOiJsIjtzOjQ6IjcyMDAiO30=") }

But recived this error: Driver [mongodb] not supported.

Mongo version: 2.4.7

CAP:
captura de pantalla - 271013 - 15 58 51

session driver stopped working after jenssegers/laravel-mongodb update to 2.0.0

after composer update application stopped working with error: Unsupported driver [mongodb] thrown in: vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php on line 194. Changing session driver from mongodb to i.e. file resolved this problem.

My Laravel version is current (4.2) and before Laravel MongoDB update to 2.0.0 everything was working without problem.

BTW: I like very much improvements in 2.0.0 :)

Please help and thanks,
Peter

another: Driver [mongodb] not supported

Hey,

I just installed MongoDB session and I can't get it to work. I've done everything according to your instructions and still I get error

Driver [mongodb] not supported

image

I'm currently using your main MongoDB package and it is working without problem (great job, btw). I figured that this should be a plug'n'play thing, but sadly - it's not.

Thanks for any help :)

Does it clear stale sessions?

It seems that MongoDB doesn't flush stale sessions, and after a few days without rebooting will refuse connections. Does this module implement mongodb's clear_interval option?

Thanks!

Laravel 8 like database session driver

Hello, why not follow the database session driver of Laravel 8 ?

Because that way, it ships with some other features like IP address, active connections, loging out from other devices.

It's really a nightmare without this behavior.

Duplicate key in session when using different browser on same machine

I got this response on second browser when trying to open my newly setup laravel app.
E11000 duplicate key error collection: pace.sessions index: id_1 dup key: { id: null }

I'm using latest laravel 8.
laravel-mongodb 3.8
laravel-mongodb-session 1.4

I'm just trying to setup my new project with mongodb support.
This is composer.json

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.3|^8.0",
        "fideloper/proxy": "^4.4",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "inertiajs/inertia-laravel": "^0.2.4",
        "jenssegers/mongodb": "^3.8",
        "jenssegers/mongodb-session": "^1.4",
        "laravel/framework": "^8.12",
        "laravel/jetstream": "^1.6",
        "laravel/sanctum": "^2.6",
        "laravel/tinker": "^2.5",
        "tightenco/ziggy": "^0.9.4"
    },
    "require-dev": {
        "facade/ignition": "^2.5",
        "fakerphp/faker": "^1.9.1",
        "mockery/mockery": "^1.4.2",
        "nunomaduro/collision": "^5.0",
        "phpunit/phpunit": "^9.3.3"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Database\\Factories\\": "database/factories/",
            "Database\\Seeders\\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}

Session lifetime is using Seconds (not minutes)

I just ran into an issue w/ session lifetime.

session.php specifies the value in minutes (I have it set to 1440 which should be 24 hours).

However, in checking the session collection in the DB I find it to be setting expiration 24 minutes from the time last accessed.

Example from my sessions table:

    "last_activity" : ISODate("2017-07-19T17:03:41.000Z"),
    "expires_at" : ISODate("2017-07-19T17:27:41.000Z"),

Delta is 24 minutes exactly - (should be 24 hours in my case)

Anyone else experiencing this?

UPDATE: Changing the session.php lifetime value to 60, clearing the cache and removing all records from the sessions collection in the DB (and the logging back in) has NO EFFECT(session still timeout in 24 minutes and the DB session collection indicates the same)... This indicates that the lifetime value in the session.php file is not being used, but some 24 minute value elsewhere is being used? Perhaps gc_maxlifetime? Any thoughts on this?

UPDATE: Changing php.ini to reflect: session.gc_maxlifetime = 86400 (and then restarting apache2) seems to have done what I wanted but I'm not sure why this value is being used.

Also, I'm not sure I want the cleanup set to this long a period for PHP... Anyone have any idea why this value is being used by mongodb session driver and not the session.php lifetime ?

Lumen 9 Support

Do you have plans to add Lumen 9 support? Here is an example of an error with Lumen 9 for your reference:

image

image

Laravel 6 support

Currently, due to deps, this cannot install on Laravel 6, can it be updated to do so?

Problem with the new PHP MongoDB Extension

This isn't necessarily an issue with the code in this library but rather the code in Symfony that this library depends on. SessionManager.php depends on MongoDbSessionHandler.php from Symfony which is biased to only work with the PHP Mongo Extension having several classes from that extension hardcoded.

I've filed an issue with Symfony here:
symfony/symfony#19183

It would be worthwhile to have an interim solution until the fix for this propagates. I suggest one of the following:

  1. Create/utilize a "shim" that essentially defines all of the Mongo classes, namely, Mongo, MongoClient, MongoId, MongoDate, and MongoBinData that are expected/used by MongoDbSessionHandler.php. This could completely overcome the issue with the exception of MongoDbSessionHandler.php Line 73.

  2. Create a temporary alternate MongoDbSessionHandler.php file that is used if the MongoDB\Client class exists.

I'd suggest (2) since (1) is not a complete solution.

@jenssegers, what are your thoughts? I'm happy to submit a PR for this today.

Does the package use mongdbs TTL functionality?

Hello
I was just wondering if the package implements the automatic TTL function in MongoDB?

I noticed that the package adds the last_activity field to the documents. What defines the TTL? is it the session lifetime configuration in Laravels session.php?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.