export class Auth { constructor({ baseUrl, remoteBaseUrl, giteaAppBaseUrl, giteaClientId, giteaClientSecret }) { this.baseUrl = baseUrl this.remoteBaseUrl = remoteBaseUrl this.giteaAppBaseUrl = giteaAppBaseUrl this.giteaClientId = giteaClientId this.giteaClientSecret = giteaClientSecret } async redirect(event) { const url = new URL( this.remoteBaseUrl + '/' ) const search = new URLSearchParams() search.set('response_type', 'code') search.set('client_id', this.giteaClientId) search.set( 'redirect_uri', this.remoteBaseUrl + '/auth/callback' ) search.state = 'state' url.search = search.toString() return Response.redirect(url.toString()) } }