Skip to content
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

OKTA-719439 Support HTTPS loopback server call #3605

Closed
wants to merge 1 commit into from

Conversation

yannongli-okta
Copy link
Contributor

@yannongli-okta yannongli-okta commented Apr 17, 2024

Description:

  • In supported platform (currently MacOS only), server will send an additional field httpsDomain in the authenticatorChalelnge object for Loopback server binding
  • When this field is present, it will be storing the http loopback domain while the existing domain field will store the local host domain
  • On SIW, if such httpsDomain exists, we will do https loopback server first and fall back to http server. This is to make sure we always start from the more secure one
  • In the future, when OV client roll out reaches 95% rate that supports HTTPS loopback, we will make the change to only probe on httpsDomain
  • Server side implementation is https://github.com/atko-eng/okta-core/pull/93940

PR Checklist

Issue:

Reviewers:

@vakaevich-okta @SohamKolhatkar-okta @shuowu @lesterchoi-okta

Screenshot/Video:

Downstream Monolith Build:

'authenticator-verification-select-authenticator',
]
};

Copy link
Contributor

@SohamKolhatkar-okta SohamKolhatkar-okta Apr 22, 2024

Choose a reason for hiding this comment

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

Can you explain the purpose of windowAuthnHttpsLoopback variable? I don't see it used in any test file.

.respond((req, res) => {
res.statusCode = '200';
res.headers['content-type'] = 'application/json';
if (failureCount === 2) {
Copy link
Contributor

@SohamKolhatkar-okta SohamKolhatkar-okta Apr 22, 2024

Choose a reason for hiding this comment

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

What does failureCount refer to? 500 error while probing?

await t.expect(loopbackSuccessLogger.count(
record => record.response.statusCode === 500 &&
record.request.url.match(/randomorgid.authenticatorlocaldev.com:6513\/probe/)
)).eql(1);
Copy link
Contributor

@SohamKolhatkar-okta SohamKolhatkar-okta Apr 22, 2024

Choose a reason for hiding this comment

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

NIT: I think L425-436 can be simplified to use:
/randomorgid.authenticatorlocaldev.com:(2000|6512|6513)\/probe/

@lesterchoi-okta
Copy link
Contributor

NOTE: PR pending for SIW G3 parity

@yannongli-okta
Copy link
Contributor Author

already merged in another PR #3650

This pull request was closed.
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.

3 participants