Skip to main content

Integration with Okta server-side SSO

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

reflex-okta-auth

This package requires the reflex_enterprise package to be installed.

Installation

pip install reflex-okta-auth

Usage

Set Up Okta Application

Create a new Application and set up a .env file with the following variables:

OKTA_CLIENT_ID=your_client_id
OKTA_CLIENT_SECRET=your_client_secret
OKTA_ISSUER_URI=your oauth issuer uri

Reflex will need to access these variables to authenticate users.

Register Auth Callback

from reflex_enterprise import App
from reflex_okta_auth import register_auth_callback

...

app = App()
register_auth_callback(app)

Check OktaAuthState.userinfo for user identity/validity

import reflex as rx
from reflex_okta_auth import OktaAuthState

@rx.page()
def index():
    return rx.container(
        rx.vstack(
            rx.heading("Okta Auth Demo"),
            rx.cond(
                rx.State.is_hydrated,
                rx.cond(
                    OktaAuthState.userinfo,
                    rx.vstack(
                        rx.text(f"Welcome, {OktaAuthState.userinfo["name"]}!"),
                        rx.text(OktaAuthState.userinfo.to_string()),
                        rx.button("Logout", on_click=OktaAuthState.redirect_to_logout),
                    ),
                    rx.button("Log In with Okta", on_click=OktaAuthState.redirect_to_login),
                ),
                rx.spinner(),
            ),
        ),
    )

Validate the Tokens

Before performing privileged backend operations, it is important to validate the tokens to ensure they have not been tampered with. Use OktaAuthState._validate_tokens() helper method to validate the tokens.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reflex_okta_auth-0.1a1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file reflex_okta_auth-0.1a1-py3-none-any.whl.

File metadata

File hashes

Hashes for reflex_okta_auth-0.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8c1b9a287fa7cc733616453d9b9902abe03340f23c3cb552f8a2aa47e82c98d
MD5 ec203c53d6fc366ff6acb4fed2288008
BLAKE2b-256 e73fad6cad01dd8231ab756642c900deb7b9966883e94caf6d4de35d050f746f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page