mirror of
https://github.com/pocket-id/pocket-id.git
synced 2025-12-09 14:53:00 +03:00
🐛 Bug Report: Introspection Endpoint - Client id or secret not provided #148
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @andreas-soroko on GitHub.
Reproduction steps
clientid:clientsecretas base64token=<accessToken>Expected behavior
I would at least expect an error message that you can do something with, because clientId and secret were specified.
Actual Behavior
No matter what i do, i always get an error message.
"Invalid client secret""Client id or secret not provided"Version and Environment
Version: 1.5.0 (updated from 1.1.0 - only noticed it because an app started to log auth errors)
Example:
Log Output
Log
Response
@ItalyPaleAle commented on GitHub:
@andreas-soroko is your client configured as public client?
@andreas-soroko commented on GitHub:
just tested i bit further - the endpoint doesn't require any authentication any more?
i can just post a valid token against it and getting informations back.
Response:
do the test run in the pipeline? because this test should exactly test it.
https://github.com/pocket-id/pocket-id/blob/main/tests/specs/oidc.spec.ts#L283
@stonith404 commented on GitHub:
This issue was automatically closed because of the PR and the fix should be available in the next release. Feel free to comment here if the issue stills occurs with the new version.
@ItalyPaleAle commented on GitHub:
Should be fixed by #704
@andreas-soroko commented on GitHub:
one client I tested was public, the others were not
@ItalyPaleAle commented on GitHub:
@andreas-soroko I’m a little confused about the problem you’re having, since we’ve talked about unauthenticated calls too.
Could you please share more info, maybe some step-by-step repro?
@andreas-soroko commented on GitHub:
Mhm, updated to 1.6.1. still facing the same issue - @ItalyPaleAle .
Response
Log
Edit:
After looking through the code, I think this line is my problem oidc_service.go#L513
was added in 1.3.0, and yes, I am using a different client - is this part of an official specification? I have never had this problem with other providers.
@ItalyPaleAle commented on GitHub:
Oh, I understand now. I think this is working as intended: each client should only be allowed to introspect tokens issued for itself.
second-clientshould NOT be allowed to introspect tokens issued forfirst-client.@andreas-soroko commented on GitHub:
Hi, is this enough? @ItalyPaleAle
Create 2 OIDC Clients:
Name:first-clientPublic Client:truePKCE:trueName:second-clientobtain access token via the
first-clienttry to make the introspection request via
second-clientto validate the tokeni used that constellation in the past with keycloak and authentik (and pocketid 1.1 as well)