• Home
  • Categories
  • Recent
  • Popular
  • Pricing
  • Contact us
  • Docs
  • Login
FusionAuth
  • Home
  • Categories
  • Recent
  • Popular
  • Pricing
  • Contact us
  • Docs
  • Login

OAuth introspect endpoint works only with the credentials of the creator of the access token being verified

Scheduled Pinned Locked Moved Unsolved
Q&A
2
4
506
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F
    fusionauth.qhj5e
    last edited by 4 Nov 2024, 09:30

    If you call the access token verification endpoint (https://fusionauth.io/docs/lifecycle/authenticate-users/oauth/endpoints#introspect), it responds successfully if you include as credentials the client id and client secret of the Entity that requested that access token from FusionAuth originally.

    If you instead try to verify the token with another Entity's client id and client secret, you receive a 401 error (unauthorized).

    But the whole point of having a verification endpoint is for a server to validate the token received from a client - and the server obviously won't have the client's secret. Since the server doesn't have the client secret, how is it supposed to validate a token using any secret other than the server's own secret? Is this an error in the permissions of the endpoint of FusionAuth? Otherwise I don't understand how a server can call this endpoint.

    Thanks.

    F 1 Reply Last reply 6 Nov 2024, 08:41 Reply Quote 0
    • F
      fusionauth.qhj5e @fusionauth.qhj5e
      last edited by 6 Nov 2024, 08:41

      Also, why doesn't FusionAuth expose the default signing key, HS256, at http://localhost:9011/.well-known/jwks.json?

      Because it doesn't, you haven't to change all machine oauth to use a custom key, otherwise access tokens can't be verified manually, in addition to not being verifiable using the introspection endpoint.

      D 1 Reply Last reply 6 Nov 2024, 23:40 Reply Quote 0
      • D
        dan @fusionauth.qhj5e
        last edited by 6 Nov 2024, 23:40

        Also, why doesn't FusionAuth expose the default signing key, HS256, at http://localhost:9011/.well-known/jwks.json?

        @fusionauth-qhj5e We don't publish the HMAC key to JWKS.json because if we did, anyone would be able to find it, and sign JWTs as your FusionAuth installation. HMAC keys should only be used when both parties can share a secret.

        I'll update the docs to make that clearer. Sorry!

        https://fusionauth.io/docs/lifecycle/authenticate-users/oauth/endpoints#json-web-key-set-jwks

        --
        FusionAuth - Auth for devs, built by devs.
        https://fusionauth.io

        D 1 Reply Last reply 6 Nov 2024, 23:58 Reply Quote 0
        • D
          dan @dan
          last edited by 6 Nov 2024, 23:58

          Here's the PR making the doc better:

          https://github.com/FusionAuth/fusionauth-site/pull/3371

          --
          FusionAuth - Auth for devs, built by devs.
          https://fusionauth.io

          1 Reply Last reply Reply Quote 0
          1 out of 4
          • First post
            1/4
            Last post