| 87 | }; |
| 88 | |
| 89 | const oauthMetadata = (request: Request) => { |
| 90 | const url = new URL(request.url); |
| 91 | return json({ |
| 92 | issuer: url.origin, |
| 93 | authorization_endpoint: `${url.origin}/authorize`, |
| 94 | token_endpoint: `${url.origin}/token`, |
| 95 | registration_endpoint: `${url.origin}/register`, |
| 96 | response_types_supported: ["code"], |
| 97 | grant_types_supported: ["authorization_code"], |
| 98 | code_challenge_methods_supported: ["S256"], |
| 99 | token_endpoint_auth_methods_supported: ["none", "client_secret_post", "client_secret_basic"], |
| 100 | scopes_supported: ["read", "write"], |
| 101 | }); |
| 102 | }; |
| 103 | |
| 104 | const protectedResourceMetadata = (request: Request) => { |
| 105 | const url = new URL(request.url); |