mirror of
https://github.com/pocket-id/pocket-id.git
synced 2026-10-10 03:39:05 +02:00
fix: remove unused oidc client /meta endpoint
This commit is contained in:
@@ -31,7 +31,6 @@ func NewOidcController(r *authz.Router, fileSizeLimitMiddleware *middleware.File
|
||||
r.GET("/oidc/clients", authz.OidcClientsRead, httpserver.Handle(oc.listClientsHandler))
|
||||
r.POST("/oidc/clients", authz.OidcClientsWrite, httpserver.Handle(oc.createClientHandler))
|
||||
r.GET("/oidc/clients/:id", authz.OidcClientsRead, httpserver.Handle(oc.getClientHandler))
|
||||
r.Public().GET("/oidc/clients/:id/meta", httpserver.Handle(oc.getClientMetaDataHandler))
|
||||
r.PUT("/oidc/clients/:id", authz.OidcClientsWrite, httpserver.Handle(oc.updateClientHandler))
|
||||
r.POST("/oidc/clients/:id/refresh", authz.OidcClientsWrite, httpserver.Handle(oc.refreshClientMetadataHandler))
|
||||
r.DELETE("/oidc/clients/:id", authz.OidcClientsWrite, httpserver.Handle(oc.deleteClientHandler))
|
||||
@@ -61,32 +60,6 @@ type OidcController struct {
|
||||
appConfigService appconfig.AppConfigResolver
|
||||
}
|
||||
|
||||
// getClientMetaDataHandler godoc
|
||||
// @Summary Get client metadata
|
||||
// @Description Get OIDC client metadata for discovery and configuration
|
||||
// @Tags OIDC
|
||||
// @Produce json
|
||||
// @Param id path string true "Client ID"
|
||||
// @Success 200 {object} dto.OidcClientMetaDataDto "Client metadata"
|
||||
// @Failure default {object} dto.ErrorDto "Error"
|
||||
// @Router /api/oidc/clients/{id}/meta [get]
|
||||
func (oc *OidcController) getClientMetaDataHandler(c *gin.Context) error {
|
||||
clientId := c.Param("id")
|
||||
client, err := oc.oidcService.GetClient(c.Request.Context(), clientId)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
clientDto := dto.OidcClientMetaDataDto{}
|
||||
if err := dto.MapStruct(client, &clientDto); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
clientDto.HasDarkLogo = client.HasDarkLogo()
|
||||
c.JSON(http.StatusOK, clientDto)
|
||||
return nil
|
||||
}
|
||||
|
||||
// getClientHandler godoc
|
||||
// @Summary Get OIDC client
|
||||
// @Description Get detailed information about an OIDC client
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
@@ -10,44 +9,6 @@ import (
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestClientIDParamMiddleware(t *testing.T) {
|
||||
gin.SetMode(gin.TestMode)
|
||||
|
||||
const cimdURL = "https://claude.ai/oauth/claude-code-client-metadata"
|
||||
encoded := "~" + base64.RawURLEncoding.EncodeToString([]byte(cimdURL))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
param string
|
||||
want string
|
||||
}{
|
||||
{"plain client ID unchanged", "my-client_id.1", "my-client_id.1"},
|
||||
{"uuid unchanged", "550e8400-e29b-41d4-a716-446655440000", "550e8400-e29b-41d4-a716-446655440000"},
|
||||
{"encoded CIMD URL decoded", encoded, cimdURL},
|
||||
{"invalid base64 left as-is", "~!!!", "~!!!"},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
router := gin.New()
|
||||
router.Use(NewClientIDParamMiddleware().Add())
|
||||
|
||||
var got string
|
||||
router.GET("/oidc/clients/:id/meta", func(c *gin.Context) {
|
||||
got = c.Param("id")
|
||||
c.Status(http.StatusOK)
|
||||
})
|
||||
|
||||
req := httptest.NewRequestWithContext(t.Context(), http.MethodGet, "/oidc/clients/"+tt.param+"/meta", http.NoBody)
|
||||
w := httptest.NewRecorder()
|
||||
router.ServeHTTP(w, req)
|
||||
|
||||
require.Equal(t, http.StatusOK, w.Code)
|
||||
require.Equal(t, tt.want, got)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestClientIDParamMiddlewareIgnoresNonClientParams(t *testing.T) {
|
||||
gin.SetMode(gin.TestMode)
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ import type {
|
||||
OidcClientCreate,
|
||||
OidcClientCreated,
|
||||
OidcClientLogoPreset,
|
||||
OidcClientMetaData,
|
||||
OidcClientSecret,
|
||||
OidcClientSecretCreated,
|
||||
OidcClientUpdate,
|
||||
@@ -54,10 +53,6 @@ class OidcService extends APIService {
|
||||
(await this.api.get(`/oidc/clients/${encodeClientIdParam(id)}`))
|
||||
.data as OidcClientWithAllowedUserGroups;
|
||||
|
||||
getClientMetaData = async (id: string) =>
|
||||
(await this.api.get(`/oidc/clients/${encodeClientIdParam(id)}/meta`))
|
||||
.data as OidcClientMetaData;
|
||||
|
||||
updateClient = async (id: string, client: OidcClientUpdate) =>
|
||||
(await this.api.put(`/oidc/clients/${encodeClientIdParam(id)}`, client)).data as OidcClient;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user