Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-3755

IMAP OIDC: optional configuration of a token_instrospection endpoint

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.7.0
    • 3.8.0
    • IMAPServer, SMTPServer
    • None

    Description

      Today upon receiving a OIDC auth request James verifies the signature against a configured JWKS endpoint to validate the token.

      This decentralized design do not account for revocation.

      Several solution to this problem exists:

      • Calling the OIDC provider introspection endpoint to validate the token
      • Or having a set of invalidated token maintained by the application, this needs to be updated by a backchannel from the OIDC provider.

      While my favor tend to go to the second one, the first one is rather common to.

      To give an exemple, one of my customers is required to implement the first approach: calling the introspection endpoint.

      Proposed solution

      • Optional configurable endpoint for checking token validity
      • If specified this endpoint will be called to validate OIDC tokens

      The call can be performed using a reactor-netty HTTP client.

      References

      Attachments

        1. IntrospectionToken.mp4
          4.95 MB
          Tung TRAN

        Issue Links

          Activity

            People

              Unassigned Unassigned
              btellier Benoit Tellier
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h 20m
                  3h 20m