Skip to content

Commit a7dbccb

Browse files
authored
fix(idp): replace hardcoded issuer with external URL in IDP router (#96)
1 parent 6727b43 commit a7dbccb

2 files changed

Lines changed: 5 additions & 7 deletions

File tree

pkg/idp/idp.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ type IDPRouter struct {
3131
authRouter *auth.AuthRouter
3232
}
3333

34-
const Issuer = "mcp-oauth-proxy"
35-
3634
func NewIDPRouter(
3735
repo repository.Repository,
3836
privKey *rsa.PrivateKey,
@@ -51,7 +49,7 @@ func NewIDPRouter(
5149
AccessTokenLifespan: 24 * time.Hour,
5250
RefreshTokenLifespan: 30 * 24 * time.Hour,
5351
RefreshTokenScopes: []string{},
54-
AccessTokenIssuer: Issuer,
52+
AccessTokenIssuer: externalURL,
5553
EnforcePKCE: false,
5654
EnforcePKCEForPublicClients: false,
5755
EnablePKCEPlainChallengeMethod: true,
@@ -144,7 +142,7 @@ func (a *IDPRouter) handleAuthorizationReturn(c *gin.Context) {
144142
for _, scope := range ar.GetRequestedScopes() {
145143
ar.GrantScope(scope)
146144
}
147-
jwtSession, err := NewJWTSessionWithKey(Issuer, "user", a.privKey)
145+
jwtSession, err := NewJWTSessionWithKey(a.externalURL, "user", a.privKey)
148146
if err != nil {
149147
a.logger.With(utils.Err(err)...).Error("Failed to create JWT session", zap.Error(err))
150148
a.provider.WriteAuthorizeError(ctx, c.Writer, ar, err)
@@ -337,7 +335,7 @@ func (a *IDPRouter) handleOauthAuthorizationServer(c *gin.Context) {
337335
}
338336

339337
res := &authorizationServerResponse{
340-
Issuer: Issuer,
338+
Issuer: a.externalURL,
341339
AuthorizationEndpoint: authorizationEndpoint,
342340
TokenEndpoint: tokenEndpoint,
343341
RegistrationEndpoint: registrationEndpoint,

pkg/idp/idp_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func setupTestServer(t *testing.T) (*httptest.Server, repository.Repository, str
6868
require.NoError(t, err)
6969

7070
logger, _ := zap.NewDevelopment()
71-
idpRouter, err := NewIDPRouter(repo, privKey, logger, "", secret[:], authRouter)
71+
idpRouter, err := NewIDPRouter(repo, privKey, logger, "http://localhost:8080", secret[:], authRouter)
7272
require.NoError(t, err)
7373

7474
idpRouter.SetupRoutes(router)
@@ -94,7 +94,7 @@ func TestOAuthServerMetadata(t *testing.T) {
9494
require.NoError(t, err)
9595

9696
// Verify OAuth server metadata
97-
require.Equal(t, Issuer, metadata["issuer"])
97+
require.Equal(t, "http://localhost:8080", metadata["issuer"])
9898
authEndpoint, ok := metadata["authorization_endpoint"].(string)
9999
require.True(t, ok)
100100
require.Contains(t, authEndpoint, ".idp/auth")

0 commit comments

Comments
 (0)