chore: improve error handling for device code exchange failure #11708
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.
What this does
Error handling on device code exchanges now:
application/x-www-form-urlencoded
header which means our requestAccept
header was not checkedThis was all information we wanted when debugging the failures from github, so it's all valuable info that can be hit in prod.
Test extra
Implemented a test to show how to use the new idp device flow. Honestly in practice, the current method is easier, so using this is a bit overkill. I mainly implemented it so I can test the UI, which is much harder to mock up.
This does actually run our device auth flow in a unit test though, which has value, so I am going to keep it.
Notes
I noticed we have the UI poll for the device auth to finish, I wonder if we should just do this with a websocket on the FE, and have the BE control the rate of request.