canonical / canonical/microcloud-cluster-manager
oidc: remove `POST /oidc/callback` endpoint
- 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
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