GithubHelp home page GithubHelp logo

Comments (13)

joescharf avatar joescharf commented on May 24, 2024

Yes I have had this problem too, HTTP auth will work in this situation if you create a session by logging in through the web application, but when the session times out due to logout_on_timeout, it prevents further HTTP auth. Haven't had time yet to diagnose the issue.

from authlogic.

skippy avatar skippy commented on May 24, 2024

I ran into this issue with a single_access_token...

in lib/sessions/timeout.rb, you need to replace:

      before_persisting :reset_stale_state
      after_persisting :enforce_timeout

with

      before_persisting :reset_stale_state, :unless => :single_access?
      after_persisting :enforce_timeout,    :unless => :single_access?

I was going to open another issue for this... but I bet this will also fix this basic http auth issue

from authlogic.

stouset avatar stouset commented on May 24, 2024

I ran into this as well with single access tokens. Going to try skippy's patch.

from authlogic.

joescharf avatar joescharf commented on May 24, 2024

I tried that patch and it didn't work - I though I had added that response to that thread, but apparently it isn't here. Let me know how it goes for you though...

from authlogic.

stouset avatar stouset commented on May 24, 2024

The patch worked for me, for the most part. I extracted it into a separate file so that the file can be included and fix Authlogic in situ.

http://gist.github.com/271724

from authlogic.

skippy avatar skippy commented on May 24, 2024

fantastic! Thanks Stouset for sharing that.

from authlogic.

jayuen avatar jayuen commented on May 24, 2024

I have the exact same issue as quantipay. I am trying to use HTTP basic authentication for a user that is logging in for the first time (i.e. last_request_at is nil) or logging in after a stale session (i.e. last_request_at > timeout interval).

After poking around the code, it seems that in lib/authlogic/session/persistence.rb, the persisting? method invokes the after_persisting callback method. Part of the callback chain is the enforce_timeout method in lib/authlogic/session/timeout.rb which nils out the record. This affects subsequent after_persisting callbacks (e.g. in magic_columns.rb and session.rb) and once control is back in the persisting? method, there is no record to save. This seems odd but I'm not sure what should be the proper way to workaround/resolve this. Any help would be appreciated.

Jason

from authlogic.

jayuen avatar jayuen commented on May 24, 2024

I also wanted to add that I was only experiencing this issue when Authlogic::CryptoProviders::BCrypt.cost was greater than or equal to 4. Found that really odd...

from authlogic.

pwim avatar pwim commented on May 24, 2024

Unfortunately this bug is still around. I enhanced stouset's gist to fix the issue for HTTP basic: http://gist.github.com/520483

from authlogic.

ivalkeen avatar ivalkeen commented on May 24, 2024

It seems, there is a typo in pwim's patch. Here is fixed version: http://gist.github.com/582684

from authlogic.

pwim avatar pwim commented on May 24, 2024

Indeed there was a bug, thanks for the patch of my patch.

from authlogic.

goldmaneye avatar goldmaneye commented on May 24, 2024

This patch works like a charm, but I'm curious as to why the fix hasn't been made in Authlogic itself yet.

from authlogic.

jaredbeck avatar jaredbeck commented on May 24, 2024

Closing after five years with no activity. If this is still a problem in the latest version (currently 3.5.0), please let us know and we'll be happy to re-open the issue.

from authlogic.

Related Issues (20)

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.