This repository contains a sample of integrating with Okta for authentication using the redirect model in a Python Flask app.
Read more about getting started with Okta and authentication best practices on the Okta Developer Portal.
This code sample demonstrates
- Configuring Okta
- Sign-in and sign-out
- Protecting routes
- Displaying user profile information from the ID Token
Before running this sample, you will need the following:
- The Okta CLI Tool
- An Okta Developer Account (create one using
okta register
, or configure an existing one withokta login
)
Grab and configure this project using okta start flask
.
Follow the instructions printed to the console.
Sign into your Okta Developer Edition account to add a required setting to your Flask Okta app to avoid third-party cookies. Navigate to Applications > Applications and select "okta-flask-sample" application to edit. Find the General Settings and press Edit. Enable Refresh Token in the Grant type section. Save your changes.
To run this application, install its dependencies:
pip3 install -r requirements.txt
With variables set, start your app:
python3 -m flask run --port=5000
Navigate to http://localhost:5000 in your browser.
If you see a home page that prompts you to login, then things are working! Clicking the Log in button will redirect you to the Okta hosted sign-in page.
You can sign in with the same account that you created when signing up for your Developer Org, or you can use a known username and password from your Okta Directory.
Note: If you are currently using your Developer Console, you already have a Single Sign-On (SSO) session for your Org. You will be automatically logged into your application as the same user that is using the Developer Console. You may want to use an incognito tab to test the flow from a blank slate.
Please visit our Okta Developer Forums.