fix: add OAuth server default timeout W-19549750 #1245
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 does this PR do?
Adds a (non-configurable) 2 minutes timeout to the OAuth server.
WebServer
starts the timer when starting the server viaawait WebServer.start()
, also exposes asetTimeoutCallback
method forWebOAuthServer
to set a callback to clean up server-dependent code likeWebOAuthServer.authorizeAndSave
.There's a native
setTimeout
method for when the socket is active:https://nodejs.org/api/http.html#serversettimeoutmsecs-callback
It doesn't work for us because that requires a request to hit the server (and fail), so instead we use
setTimeout
while starting the server.Before
OAuth server hangs indefinitely until a successful auth happens (or other req fails)
After
Server times out after 2 minutes.
Testing instructions:
yarn compile
yarn link
it intoplugin-auth
time sf org login web
, see it time out:NOTE: in this screenshot I modified the timeout to 10s for testing, you should see a 2 min timeout:

What issues does this PR fix or reference?
@W-19549750@