I have implemented OAuth2 PKCE flow with Okta using Python. It is a desktop application. I am using custom URL scheme as redirect URL to receive authorization code. Everything works fine and browser opens application when it sees custom URL scheme in redirect URL but the browser remains open and shows in progress Okta sign in image. What can be done to either close the browser or show appropriate message in browser?
Python desktop application - close browser in OAuth2 PKCE flow
585 views Asked by Anand At
1
There are 1 answers
Related Questions in PYTHON
- How to store a date/time in sqlite (or something similar to a date)
- Instagrapi recently showing HTTPError and UnknownError
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to create a regular expression to partition a string that terminates in either ": 45" or ",", without the ": "
- Python Geopandas unable to convert latitude longitude to points
- Influence of Unused FFN on Model Accuracy in PyTorch
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- Writes to child subprocess.Popen.stdin don't work from within process group?
- Conda has two different python binarys (python and python3) with the same version for a single environment. Why?
- Problem with add new attribute in table with BOTO3 on python
- Can't install packages in python conda environment
- Setting diagonal of a matrix to zero
- List of numbers converted to list of strings to iterate over it. But receiving TypeError messages
- Basic Python Question: Shortening If Statements
- Python and regex, can't understand why some words are left out of the match
Related Questions in BROWSER
- (in promise) TypeError: NetworkError when attempting to fetch resource
- How could i add a bookmark and tabs function in PySide6?
- Difficulty Accessing HTTP URLs/IP Addresses Due to Browser Redirecting to HTTPS: Seeking Solutions
- Can be their an extension to save pages in as offline in the browser itself?
- Connecting puppeteer to an existing Brave Browser instance using
- How can I modify javascript native fetch function from an extension?
- Update your browser to use...in android webview application
- Why does throwing an error in any browser developer console not get caught by window.addEventListener('error')?
- The javascript and css files cached by chrome do not belong to the same version
- Unlike chrome Unable to create multiple instance of sidepanel while creating extension for edge browser
- Cannot import a class from a WebPacked javascript file
- How do I keep the same time input style in both firefox and chrome
- Use GUI application on Github Codespace
- get cpu / gpu capabilities from client in react / typescript?
- How to close a browser context after multiple test is written in same file
Related Questions in OAUTH-2.0
- discord.py - Oauth2 - join user to guild
- Implementing Incremental consent when using both application and delegated permissions
- Verifying Google Identity OAuth2 token with Ruby
- spring security error Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: s
- Encountering HttpError 403 and 500 When Using Google Sheets API with Service Account
- get refresh token in axios interceptor
- spring error exception with oauth2 and securityconfig
- What oauth 2.0 endpoint is used to validate a bearer token
- Not enough permissions to access API request https://api.linkedin.com/v2/me
- How to specify the client ID and redirect URI in Swagger OAuth2.0 configuration for Swagger UI?
- OAuth2 PHP change invalid_token response
- Call Databricks API from an ASP.NET Core web application
- Secure to share Access Token over public API using CORs?
- How to use Oauth in order to log‑in on .googleapis.com on almost any arbitrary endpoints domains from the web browser?
- OAuth access token attribute based reverse proxying of http ressources
Related Questions in OKTA
- Backstage Okta authentication: "Unknown auth provider 'okta'"
- Is Okta's Spring Boot Starter mandatory to integrate a Spring Boot app to Okta?
- Implementing JWT Token Authorization in .NET 8 using AddJwtBearer() with a Custom Role Based Attributes
- OKTA User Impersonation _Masquerade
- OKTA SSO Driven API Invocation
- Azure B2C cannot use Okta as IdP via OIDC - 'Signature validation failed'
- How to get IdToken while using Spring Oauth Resource Server
- Errors in Accessing Okta API with Client Credentials Flow Using Client Secret
- Integrating Okta via a Authorization Filter
- Spring Boot error: "No converter found capable of converting from type [java.lang.String] to type [....client.OAuth2ClientProperties$Registration]"
- How to get claims in c#?
- How to add Okta access token by default to all axios request
- Okta as Identity broker for several External IDPs
- auth0 by okta problem login in my db with laravel breeze error Invalid state
- OpenID Connect Cookie ExpireTimeSpan Ignored
Related Questions in PKCE
- How to connect Spotify PKCE Authorization Boilerplate to Login-Button in React
- OIDC - Dummy Redirect URL a security issue?
- Enable PKCE in swagger inside backstage.io
- Is PKCE flow with facade secure?
- How to use a plain vanilla get/post method to obtain a authentication token in postman?
- How bad is it to broadcast the access token in a SPA PKCE flow?
- How to handle session management in FastAPI with Okta OIDC & PKCE
- Authorisation code Flow with PKCE using Jmeter
- Electron + MSAL OAuth 2.0 redirection issue due to form-action during authentication
- Laravel Socialite Twitter: Missing required parameter [code_verifier]
- spring boot (Resource server) and keycloak (Authorization server) and angular client app question for access token when i authenticate
- Application Python for OIDC connexion
- Why Both PKCE and Client-Secret
- Application not redirecting to authorisation page
- Spotify API: Problem setting Authorization Code with PKCE Flow
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
It is a tricky flow and it is difficult to get this perfect, though returning to a web page after login rather than directly to the app will give you greater control:
DEFAULT OPTION
Use a redirect URI such as x-mycompany-desktopapp:/callback, which is invoked automatically, but this results in a leftover / confusing browser page, as you are finding.
INTERSTITIAL PAGE OPTION
Update the redirect URI to a value such as this, which is a web page you need to host:
If you do a 'View Source' on the above page you will see that it invokes the custom URI scheme when a Continue button is clicked. This at least gives you control over the post login behaviour and messaging.
FURTHER INFO
My blog post has further details and a NodeJS desktop code sample you can run.