Skip to content

POC: Authorize with ID.me, remove devise gems#2997

Merged
ashley-weaver merged 212 commits into
multi-csp-feature-branch-1from
aw/use-idme
Jun 17, 2026
Merged

POC: Authorize with ID.me, remove devise gems#2997
ashley-weaver merged 212 commits into
multi-csp-feature-branch-1from
aw/use-idme

Conversation

@ashley-weaver

@ashley-weaver ashley-weaver commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

🎫 Ticket

https://jira.cms.gov/browse/DPC-5368

🛠 Changes

Updates controllers to handle multiple CSPs.

ℹ️ Context

Based off POC for using multiple CSPs.

🧪 Validation

Tested locally with Login.gov and ID.me

Note: This doesn't cover logging out of multiple CSPs. Failing accessibility tests will be resolved in a following ticket.

Comment thread dpc-portal/app/controllers/csp_controller.rb
Comment thread dpc-portal/app/controllers/csp_controller.rb
login_dot_gov_signin_cancel_text: Login.gov sign-in was unsuccessful. If this was an error, try signing in again.
login_dot_gov_signin_fail_status: Login.gov sign-in failed
login_dot_gov_signin_fail_text: Something went wrong while trying to sign-in with Login.gov. Please try again.
id_me_signin_cancel_status: ID.me sign-in incomplete

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we'll want to have a separate ticket for error messages, but I wanted to flag that we can probably parameterize this and re-use across CSP's

e.g.

Something went wrong while trying to sign in with %{csp}. Please try again.

@lukey-luke lukey-luke mentioned this pull request Jun 16, 2026
Comment thread dpc-portal/app/controllers/id_me_controller.rb Outdated
Comment on lines +61 to +72
def handle_invitation_flow_failure(invitation_id)
Rails.logger.info(['Failed invitation flow',
{ actionContext: LoggingConstants::ActionContext::Registration,
actionType: LoggingConstants::ActionType::FailedLogin,
**csp_log_context }])
invitation = Invitation.find(invitation_id)
if invitation.credential_delegate?
render(Page::Utility::ErrorComponent.new(invitation, 'fail_to_proof'), status: :forbidden)
else
render(Page::Invitations::AoFlowFailComponent.new(invitation, 'fail_to_proof', 1), status: :forbidden)
end
end

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be moved to the invitations_controller?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is handling an error in the invitation flow specifically in the CSP login step, so it makes more sense here than there, but I think I'm gonna move these handler methods into a separate concern anyway

Comment on lines +8 to +10
def ial_1_user?(auth)
auth.extra.raw_info.identity_assurance_level.to_i == 1
end

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can probably be moved to the CspController itself. I can probably handle that in my PR or a follow up one though!

@ashley-weaver ashley-weaver requested a review from a team June 17, 2026 20:01
@ashley-weaver ashley-weaver merged commit ca5ac8e into multi-csp-feature-branch-1 Jun 17, 2026
10 of 11 checks passed
@ashley-weaver ashley-weaver deleted the aw/use-idme branch June 17, 2026 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants