canonical / canonical/microcloud-cluster-manager

oidc: remove `POST /oidc/callback` endpoint

Open
#41 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
21
Forks
5
Avg merge
13h 56m
Merged PRs (30d)
30

Description

## Issue description
In order to forward a idp callback request to the correct member in the cluster, we have to use the `(client.Client).Query` method from microcluster. This method does not currently support passing in a `http.Request` object, which means to forward the necessary cookies from the idp request we need to setup a `POST /oidc/callback` endpoint and add the cookies to the forwarded request payload.

Furthermore, the `(client.Client).Query` also does not return a full response. This imposes the same restrictions where we have to send cookies in the response payload instead of extract them from the response header.

There is an upstream microcluster [issue](https://github.com/canonical/microcluster/issues/170) open for this.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the OIDC callback handling and the microcluster client.Client.Query limitations described here, then check upstream microcluster issue #170. Done means the POST /oidc/callback endpoint is removed while the IdP request cookies and response cookies can still be forwarded correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, distributed-systems
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.