/opt/canhelp/node_modules/better-auth/dist/plugins/generic-oauth/providers
NameSizeModeActions
auth0.d.mts9790644editdlrm
auth0.mjs10840644editdlrm
auth0.mjs.map19460644editdlrm
gumroad.d.mts8640644editdlrm
gumroad.mjs15890644editdlrm
gumroad.mjs.map29580644editdlrm
hubspot.d.mts9550644editdlrm
hubspot.mjs16740644editdlrm
hubspot.mjs.map37940644editdlrm
index.d.mts5140644editdlrm
index.mjs3840644editdlrm
keycloak.d.mts10530644editdlrm
keycloak.mjs11000644editdlrm
keycloak.mjs.map20340644editdlrm
line.d.mts17660644editdlrm
line.mjs25800644editdlrm
line.mjs.map46770644editdlrm
microsoft-entra-id.d.mts10960644editdlrm
microsoft-entra-id.mjs20060644editdlrm
microsoft-entra-id.mjs.map40380644editdlrm
okta.d.mts9900644editdlrm
okta.mjs10560644editdlrm
okta.mjs.map19750644editdlrm
patreon.d.mts8230644editdlrm
patreon.mjs17140644editdlrm
patreon.mjs.map30870644editdlrm
slack.d.mts7990644editdlrm
slack.mjs17190644editdlrm
slack.mjs.map33250644editdlrm
Edit: /opt/canhelp/node_modules/better-auth/dist/plugins/generic-oauth/providers/patreon.mjs.map (3087B)
{"version":3,"file":"patreon.mjs","names":[],"sources":["../../../../src/plugins/generic-oauth/providers/patreon.ts"],"sourcesContent":["import type { OAuth2Tokens, OAuth2UserInfo } from \"@better-auth/core/oauth2\";\nimport { betterFetch } from \"@better-fetch/fetch\";\nimport type { BaseOAuthProviderOptions, GenericOAuthConfig } from \"../index\";\n\nexport interface PatreonOptions extends BaseOAuthProviderOptions {}\n\ninterface PatreonProfile {\n\tdata: {\n\t\tid: string;\n\t\tattributes: {\n\t\t\tfull_name: string;\n\t\t\temail: string;\n\t\t\timage_url: string;\n\t\t\tis_email_verified: boolean;\n\t\t};\n\t};\n}\n\n/**\n * Patreon OAuth provider helper\n *\n * @example\n * ```ts\n * import { genericOAuth, patreon } from \"better-auth/plugins/generic-oauth\";\n *\n * export const auth = betterAuth({\n * plugins: [\n * genericOAuth({\n * config: [\n * patreon({\n * clientId: process.env.PATREON_CLIENT_ID,\n * clientSecret: process.env.PATREON_CLIENT_SECRET,\n * }),\n * ],\n * }),\n * ],\n * });\n * ```\n */\nexport function patreon(options: PatreonOptions): GenericOAuthConfig {\n\tconst defaultScopes = [\"identity[email]\"];\n\n\tconst getUserInfo = async (\n\t\ttokens: OAuth2Tokens,\n\t): Promise => {\n\t\tconst { data: profile, error } = await betterFetch(\n\t\t\t\"https://www.patreon.com/api/oauth2/v2/identity?fields[user]=email,full_name,image_url,is_email_verified\",\n\t\t\t{\n\t\t\t\tmethod: \"GET\",\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: `Bearer ${tokens.accessToken}`,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\tif (error || !profile) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tid: profile.data.id,\n\t\t\tname: profile.data.attributes.full_name,\n\t\t\temail: profile.data.attributes.email,\n\t\t\timage: profile.data.attributes.image_url,\n\t\t\temailVerified: profile.data.attributes.is_email_verified,\n\t\t};\n\t};\n\n\treturn {\n\t\tproviderId: \"patreon\",\n\t\tauthorizationUrl: \"https://www.patreon.com/oauth2/authorize\",\n\t\ttokenUrl: \"https://www.patreon.com/api/oauth2/token\",\n\t\tclientId: options.clientId,\n\t\tclientSecret: options.clientSecret,\n\t\tscopes: options.scopes ?? defaultScopes,\n\t\tredirectURI: options.redirectURI,\n\t\tpkce: options.pkce,\n\t\tdisableImplicitSignUp: options.disableImplicitSignUp,\n\t\tdisableSignUp: options.disableSignUp,\n\t\toverrideUserInfo: options.overrideUserInfo,\n\t\tgetUserInfo,\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuCA,SAAgB,QAAQ,SAA6C;CACpE,MAAM,gBAAgB,CAAC,kBAAkB;CAEzC,MAAM,cAAc,OACnB,WACoC;EACpC,MAAM,EAAE,MAAM,SAAS,UAAU,MAAM,YACtC,2GACA;GACC,QAAQ;GACR,SAAS,EACR,eAAe,UAAU,OAAO,eAChC;GACD,CACD;AAED,MAAI,SAAS,CAAC,QACb,QAAO;AAGR,SAAO;GACN,IAAI,QAAQ,KAAK;GACjB,MAAM,QAAQ,KAAK,WAAW;GAC9B,OAAO,QAAQ,KAAK,WAAW;GAC/B,OAAO,QAAQ,KAAK,WAAW;GAC/B,eAAe,QAAQ,KAAK,WAAW;GACvC;;AAGF,QAAO;EACN,YAAY;EACZ,kBAAkB;EAClB,UAAU;EACV,UAAU,QAAQ;EAClB,cAAc,QAAQ;EACtB,QAAQ,QAAQ,UAAU;EAC1B,aAAa,QAAQ;EACrB,MAAM,QAAQ;EACd,uBAAuB,QAAQ;EAC/B,eAAe,QAAQ;EACvB,kBAAkB,QAAQ;EAC1B;EACA"}