Support trn_token in sign in journeys #1292
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We want to support 'magic links' that we've emailed to people inviting them to AYTQ. This adds support for the
trn_token
parameter, as with the current ID solution. The token is associated with a TRN. If the verified last name and DOB match those on the teaching record for the token's TRN we automatically attach the user to the teaching record. If there's a discrepancy we fall back to the regular matching journey.For now we're reaching directly into the ID database; normally we'd create APIs but this is temporary until we move all the tokens over from ID (at which point we'll likely need direct DB access any way). For testing this uses the EF in memory provider (setting up real DBs for testing this isn't worth it).
Much of this PR is refactoring to allow the Debug page to share some code in
SignInJourneyHelper
;TryApplyTrnToken
is the meat of the changes.