1. 06 Jul, 2017 5 commits
    • Timothy Andrew's avatar
      Add more providers to the OAuth login integration tests. · af3150cf
      Timothy Andrew authored
      - Added saml, authentiq, cas3, and auth0
      - Crowd seems to be a special case that will be handled separately.
      af3150cf
    • Timothy Andrew's avatar
      d6023d33
    • Timothy Andrew's avatar
      dbe6cc6e
    • Timothy Andrew's avatar
      Add integration tests around OAuth login. · cd3aa1f5
      Timothy Andrew authored
      - There was previously a test for `saml` login in `login_spec`, but this didn't
        seem to be passing. A lot of things didn't seem right here, and I suspect that
        this test hasn't been running. I'll investigate this further.
      
      - It took almost a whole working day to figure out this line:
      
          OmniAuth.config.full_host = ->(request) { request['REQUEST_URI'].sub(request['REQUEST_PATH'], '') }
      
        As always, it's obvious in retrospect, but it took some digging to figure out
        tests were failing and returning 404s during the callback phase.
      
      - Test all OAuth providers - github, twitter, bitbucket, gitlab, google, and facebook
      cd3aa1f5
    • Timothy Andrew's avatar
      Implement "remember me" for OAuth-based login. · 370e8e33
      Timothy Andrew authored
      - Pass a `remember_me` query parameter along with the initial OAuth request, and
        pick this parameter up during the omniauth callback from
        request.env['omniauth.params']`.
      
      - For 2FA-based login, copy the `remember_me` param from `omniauth.params` to
        `params`, which the 2FA process will pick up.
      
      - For non-2FA-based login, simply call the `remember_me` devise method to set
        the session cookie.
      370e8e33
  2. 05 Jul, 2017 31 commits
  3. 04 Jul, 2017 4 commits