@@ -2,6 +2,7 @@ import OAuthProvider from '@cloudflare/workers-oauth-provider'
22import { createRequestHandler } from 'react-router'
33import { type Env } from '#types/helpers'
44import { DB } from './db/index.ts'
5+ import { withCors } from './utils.ts'
56
67const requestHandler = createRequestHandler (
78 ( ) => import ( 'virtual:react-router/server-build' ) ,
@@ -17,7 +18,7 @@ const defaultHandler = {
1718 } ,
1819} satisfies ExportedHandler < Env >
1920
20- export default new OAuthProvider ( {
21+ const oauthProvider = new OAuthProvider ( {
2122 apiRoute : [ '/whoami' , '/db-api' , '/introspect' ] ,
2223 // @ts -expect-error these types are wrong...
2324 apiHandler : defaultHandler ,
@@ -27,3 +28,20 @@ export default new OAuthProvider({
2728 tokenEndpoint : '/token' ,
2829 clientRegistrationEndpoint : '/register' ,
2930} )
31+
32+ export default {
33+ fetch : withCors ( {
34+ getCorsHeaders : ( request ) => {
35+ if ( request . url . includes ( '/.well-known' ) ) {
36+ return {
37+ 'Access-Control-Allow-Origin' : '*' ,
38+ 'Access-Control-Allow-Methods' : 'GET, HEAD, OPTIONS' ,
39+ 'Cross-Origin-Resource-Policy' : 'cross-origin' ,
40+ }
41+ }
42+ } ,
43+ handler : ( request , env , ctx ) => {
44+ return oauthProvider . fetch ( request , env , ctx )
45+ } ,
46+ } ) ,
47+ } satisfies ExportedHandler < Env >
0 commit comments