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

feat: Okta Integration #2218

Merged
merged 14 commits into from
Jul 7, 2023
Merged

feat: Okta Integration #2218

merged 14 commits into from
Jul 7, 2023

Conversation

jimhunty
Copy link
Contributor

@jimhunty jimhunty commented Jun 28, 2023

Why are you doing this?

Integrate Okta as the new login platform

Changes

  • Integrates the Okta service and creates an Authoriser that matches the approach taken in Identity
  • Authoriser is used within the Access context to allow the ability to combine authorisation and manage article viewing
  • Adds a Remove Feature Flag to switch identity on/off in case of any Okta issues on launch
    • Abstraction for the flag to enable easier mocking
  • User ID analytics now includes Okta. This has been extended with a custom property so we know which authoriser has logged in.
  • Updated Identity Authoriser that, when Identity is disabled, will not attempt a login from cached credentials during a reauthorisation. Therefore leading them to login with Okta.
  • A number of the modals have had some small UX changes as a result of a different flow with Okta. The experience is overall not optimised, but as good as we can get without a thorough review.
  • A number of Identity specific functions have been duplicated for Okta, these will be removed, and the Okta ones renamed in a follow up (tidy up) PR.
  • Separate Okta hook to allow sign in and out easier in the UI layer.
  • Okta flag added to diagnostics
  • Dev Zone has a number of improvements
    • Buttons to log in and out of Identity
    • Buttons to log in and out of Okta
    • List of remote feature flags, if they are using the default or not and their values
    • List of what is signed in (Identity and/or Okta)

Screenshots

Buttons in Dev menu to show login and out

Screenshot 2023-07-05 at 08 24 54

Whats logged in and Flags in Dev menu

Screenshot 2023-07-05 at 08 25 04

Login flow when Identity enabled

2023-07-05 08 25 41

Login flow when Identity disabled (Okta enabled)

2023-07-05 08 26 36

Sign out flow for Okta

2023-07-05 08 27 28

@jimhunty jimhunty requested a review from a team June 28, 2023 07:46
@@ -62,6 +63,8 @@ const userDataCache = createAsyncCache<IdentityAuthData>('user-data-cache');

const iapReceiptCache = createAsyncCache<ReceiptIOS>('iap-receipt-cache');

const oktaDataCache = createAsyncCache<OktaAuthData>('okta-data-cache');
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Dont believe this is used as Okta manages its own cache within the Native Module. However, the types require it so passing it through and likely to be removed in tidy up

@jimhunty jimhunty marked this pull request as ready for review July 5, 2023 07:30
Copy link
Contributor

@groakland groakland left a comment

Choose a reason for hiding this comment

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

LGTM

@jimhunty jimhunty merged commit 5602801 into master Jul 7, 2023
1 of 2 checks passed
@jimhunty jimhunty deleted the feat/okta-integration branch July 7, 2023 07:13
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.

2 participants