Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide an ApplicationSubmissionsController#index fallback #469

Open
werebus opened this issue Jan 9, 2023 · 3 comments
Open

Provide an ApplicationSubmissionsController#index fallback #469

werebus opened this issue Jan 9, 2023 · 3 comments
Labels

Comments

@werebus
Copy link
Member

werebus commented Jan 9, 2023

Because of Shibboleth/HTTP reasons, a form submission doesn't survive the redirects that result if an applicant's session expires while they're filling out an application.

As a result, the POST request to /application_submissions gets turned into a GET request to the same and the user ends up with a 404 because that route doesn't exist.

While it turns out that it is possible to get Shibboleth to store and then recall certain form data, it's... pretty hard. At the very least, though we could provide a "we're sorry, you're too slow" page rather than the confusing 404.

@werebus
Copy link
Member Author

werebus commented Jun 1, 2023

You know.... maybe it's not that bad?

@werebus
Copy link
Member Author

werebus commented Jun 8, 2023

It was not, in fact, that bad. I added the configuration needed for Shibboleth to stash form submissions before sending the user off to auth, and then to re-POST that submission after they get back. In shibboleth2.xml:

<ApplicationOverride id="transit-jobapps.admin.umass.edu" 
                     entityID="https://transit-jobapps.admin.umass.edu/shibboleth" >

  <!-- Added this element here. Most of the attributes are copied from the <Sessions>
       in <ApplicationDefaults>, what was added were 'postData' and 'postTemplate' -->
  <Sessions lifetime="28800" timeout="21600" relayState="ss:mem"
            checkAddress="false" handlerSSL="true" cookieProps="https"
            postData="ss:mem" postTemplate="/etc/shibboleth/postTemplate.html" />
</ApplicationOverride>

Now, if their Shibboleth session goes bad mid application submission, their submission will still go through.

@werebus werebus closed this as completed Jun 8, 2023
@werebus
Copy link
Member Author

werebus commented Sep 4, 2024

Had this happen again last week. The applicant loaded the application and then submitted it around three days later.

It appears as if the fix above isn't working anymore? This could be related to the Cirrus Bridge migration, I guess.

@werebus werebus reopened this Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant