Skip to content

pkce documentation and examples. #2244

@nelaaro

Description

@nelaaro

Preflight Checklist

  • I agree to follow the Code of Conduct that this project adheres to.
  • I have searched the issue tracker for an issue that matches the one I want to file, without success.

Problem Description

Feature request for additional documentation and example in the implementation of dex and dex features.

PKCE support has been added to Dex in version 2.26. It would be great if there was a single document or example explaining how to implement it.

It should be listed as a feature that Dex provides clearly and unambiguously. I only found out about this because I searched through the issue list and read a tutorial describing how one might implement this using dex.

Proposed Solution

Create an example config that shows how to create a PKCE deployment. With complete explanations for the different options and how they work to implement PKCE.

There should also be an expanded example config that includes all the options available to configure dex.
One example of an option not documented except in the issue. allowedOrigins: ['*']

web:
  http: 0.0.0.0:5556
  allowedOrigins: ['*']

I think the PKCE implementation should be part of the default configuration set as it simplifies a number of implementation details and could make for more secure deployments. As it mitigates the leaking of the token to third-party in web application endpoints.

Alternatives Considered

Reading the code directly to understand all the available options and how to implement them.
Reading through all the issues to understand what options are available and how they are implemented.
Not a good way for new users to get to grips with how this is supposed to work.

Additional Information

PKCE has been recommended to replace implicit flow to reduce security risks associated with leaking the secret key.
This should become part of the examples and documentation implementation options that dex provides

I have been reading from these sites to better understand oauth and PKCE and dex. OAuth

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions