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
Refactor device auth schema #1344
Refactor device auth schema #1344
Changes from 4 commits
a9e20c5
a195c9e
0af0e27
027d517
c4f4d01
77a0d8c
2b504ca
152fd2a
bf53d38
8ce7e42
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.
This check feels a little weird, since
DeviceAccessToken
isn't declared bylookup_resource!
as a child ofSiloUser
. Suggestions for a better check would be welcome.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.
We could create another synthetic resource analogous to
ConsoleSessionList
(DeviceAccessTokenList
) but I admit the boilerplate-to-value ratio on those is getting worse...To be clear, would we expect this function to be invoked by the user themselves or by Nexus's external-authenticator? I assumed the latter.
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.
No, this function is called as part of the confirmation in the browser, so it's made by an authenticated user.
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 believe there's a window here where this could happen:
I think the result would be two tokens created from the same device auth request.
I think the easiest way to fix that might be to bail out at L4329 if
execute()
reports having deleted any number of rows other than 1.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, fixed in 152fd2a. Please LMK if I got the error handling wrong.