summaryrefslogtreecommitdiff
path: root/internal/handlers/handler_oidc_token.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/handlers/handler_oidc_token.go')
-rw-r--r--internal/handlers/handler_oidc_token.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/internal/handlers/handler_oidc_token.go b/internal/handlers/handler_oidc_token.go
index eadd16839..cb8cc854f 100644
--- a/internal/handlers/handler_oidc_token.go
+++ b/internal/handlers/handler_oidc_token.go
@@ -34,10 +34,20 @@ func OpenIDConnectTokenPOST(ctx *middlewares.AutheliaCtx, rw http.ResponseWriter
ctx.Logger.Debugf("Access Request with id '%s' on client with id '%s' is being processed", requester.GetID(), client.GetID())
if requester.GetGrantTypes().ExactOne(oidc.GrantTypeClientCredentials) {
- if err = oidc.PopulateClientCredentialsFlowSessionWithAccessRequest(ctx, requester, session, ctx.Providers.OpenIDConnect.KeyManager.GetKeyID); err != nil {
+ if err = oidc.PopulateClientCredentialsFlowSessionWithAccessRequest(ctx, client, session); err != nil {
ctx.Logger.Errorf("Access Response for Request with id '%s' failed to be created with error: %s", requester.GetID(), oidc.ErrorToDebugRFC6749Error(err))
ctx.Providers.OpenIDConnect.WriteAccessError(ctx, rw, requester, err)
+
+ return
+ }
+
+ if err = oidc.PopulateClientCredentialsFlowRequester(ctx, ctx.Providers.OpenIDConnect, client, requester); err != nil {
+ ctx.Logger.Errorf("Access Response for Request with id '%s' failed to be created with error: %s", requester.GetID(), oidc.ErrorToDebugRFC6749Error(err))
+
+ ctx.Providers.OpenIDConnect.WriteAccessError(ctx, rw, requester, err)
+
+ return
}
}