-
Notifications
You must be signed in to change notification settings - Fork 741
OIDC SSO: endpoints #9654
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
base: development
Are you sure you want to change the base?
OIDC SSO: endpoints #9654
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1046,6 +1046,26 @@ authentication in your Mendix App. | |
5. In the **Url** field, enter the location where your public key is stored. The following is the new endpoint in the OIDC SSO to fetch public keys based on the configured alias For example, `https:/`*`BASE_URL`*`/oauth/v2/jwks/`*`ALIAS`*. Here, *`ALIAS`* is the client alias configured in the OIDC application. For example, Okta. | ||
6. **Save** the configuration. | ||
|
||
## URLs | ||
|
||
The following diagram gives an overview of all endpoints that the OIDC SSO module exposes and consumes: | ||
|
||
{{< figure src="/attachments/appstore/platform-supported-content/modules/oidc/oidc-endpoints.png" class="no-border" >}} | ||
|
||
End-users can access your app through the following endpoints when using the OIDC SSO module: | ||
|
||
* SSO Endpoint: Initiates the authentication process by redirecting the user to the Identity Provider (IdP) login page. This is typically the starting point of the SSO login flow. | ||
For example, `https://<YOUR_APP_URL>/oauth/v2/login`. | ||
* `post_logout_redirect`: The URL to which users are redirected after they successfully log out from the application. This helps ensure a seamless user experience by taking them to a predefined page after logout. | ||
* `redirect_uri`: The callback URL that receives the authorization response from the IdP after the user successfully authenticates. This endpoint processes the returned authorization code or token to complete the login process. | ||
For example, `https://<YOUR_APP_URL>/oauth/v2/callback`. | ||
* `/.well-known/openid_configuration`: A standardized URL exposed by the IdP to initiate OAuth2 authorization. | ||
* `authorization_endpoint`: The URL on the IdP where the authorization request is sent to start the OIDC login process. It redirects the user to the IdP for authentication. | ||
* `token_endpoint`: The endpoint used by the Mendix app to exchange the received authorization code for tokens, such as access tokens, ID tokens. | ||
* `jwks_uri`: URL exposing the JSON Web Key Set (JWKS), which contains the public keys used to validate token signatures. | ||
* `introspection_endpoint` (optional): An endpoint provided by the IdP to validate or introspect tokens (optional, depending on the IdP). | ||
* `end_session_endpoint`: Used to initiate logout at the IdP. This endpoint ensures that the user is logged out from both the Mendix app and the IdP, effectively terminating the entire SSO session. | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we add some explanation, like: "If you have a firewall between your application and your IdP, please make sure it's properly configured for the consumption of these endpoints". Or maybe we should add this to the trouble shooting section. |
||
## Testing and Troubleshooting{#testing} | ||
|
||
Once you have your app deployed, you can test the SSO set-up by trying to login. If you have multiple IdPs set up, you will be able to choose which IdP to use for authentication. If you have only one IdP provider configured, then you will be taken directly to that IdP's sign in page. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the explanation that Copliot gives me better:
"In the OIDC (OpenID Connect) protocol, the .well-known endpoint provides a standardized URL where clients can retrieve the OpenID Provider's configuration metadata, enabling dynamic discovery of important endpoints and capabilities."