diff options
Diffstat (limited to 'internal/handlers/handler_oidc_token.go')
| -rw-r--r-- | internal/handlers/handler_oidc_token.go | 12 |
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 } } |
