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.
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
Lg 15251 avoid linking email address #11717
Lg 15251 avoid linking email address #11717
Changes from 21 commits
67ffa13
1cf573d
b5c52d2
3348e2a
321b9c3
8c1833a
2176080
4574c6f
cd4a35d
40ddc21
7681ca4
5cc5b03
ff39621
a19f8a0
a537d91
ff56fa7
8c772dd
9241d71
dcb3700
d0875e8
a2e873f
74faffd
3354908
adbf97e
65ee172
d41b386
62686de
50c9343
8ca969d
e98798a
1e717ea
e8cb132
bed0636
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice clarifying rename 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm still seeing ways that
email_address_id
is going to be assigned regardless of what attributes are requested by the service provider. This session value is assigned when the user grants consent, and will be returned here before we get a chance to evaluatesp_only_single_email_requested?
.identity-idp/app/controllers/sign_up/completions_controller.rb
Lines 24 to 27 in d32e350
I think we should do an audit of
User#last_sign_in_email_address
andIdentity#email_address_for_sharing
to make sure that they won't be used to assignemail_address_id
of anIdentity
unless valid for the requested / verified attributes.It could also be a good idea to have an integration test that has the user walk through a consent flow for different requested attributes and check the resulting behavior /
email_address_id
value.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added the test. above. But looking at the calls it looks like this location is the only place that the identity linker is being updated with email address id. the authorization controller and saml_auth_concern. @aduth
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok in that case I think it makes sense the change to change order to ensure we abort as early as possible in this method if the identity doesn't have the correct
requested_attributes
. 👍