{"version":3,"file":"google.mjs","names":[],"sources":["../../../src/oauth/providers/google.ts"],"sourcesContent":["/**\n * Google OAuth provider (using OIDC)\n */\n\nimport { z } from \"zod\";\n\nimport type { OAuthProvider, OAuthProfile } from \"../types.js\";\n\nconst googleUserSchema = z.object({\n\tsub: z.string(),\n\temail: z.string(),\n\temail_verified: z.boolean(),\n\tname: z.string(),\n\tpicture: z.string(),\n});\n\nexport const google: OAuthProvider = {\n\tname: \"google\",\n\tauthorizeUrl: \"https://accounts.google.com/o/oauth2/v2/auth\",\n\ttokenUrl: \"https://oauth2.googleapis.com/token\",\n\tuserInfoUrl: \"https://openidconnect.googleapis.com/v1/userinfo\",\n\tscopes: [\"openid\", \"email\", \"profile\"],\n\n\tparseProfile(data: unknown): OAuthProfile {\n\t\tconst user = googleUserSchema.parse(data);\n\t\treturn {\n\t\t\tid: user.sub,\n\t\t\temail: user.email,\n\t\t\tname: user.name,\n\t\t\tavatarUrl: user.picture,\n\t\t\temailVerified: user.email_verified,\n\t\t};\n\t},\n};\n"],"mappings":";;;;;;AAQA,MAAM,mBAAmB,EAAE,OAAO;CACjC,KAAK,EAAE,QAAQ;CACf,OAAO,EAAE,QAAQ;CACjB,gBAAgB,EAAE,SAAS;CAC3B,MAAM,EAAE,QAAQ;CAChB,SAAS,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAa,SAAwB;CACpC,MAAM;CACN,cAAc;CACd,UAAU;CACV,aAAa;CACb,QAAQ;EAAC;EAAU;EAAS;EAAU;CAEtC,aAAa,MAA6B;EACzC,MAAM,OAAO,iBAAiB,MAAM,KAAK;AACzC,SAAO;GACN,IAAI,KAAK;GACT,OAAO,KAAK;GACZ,MAAM,KAAK;GACX,WAAW,KAAK;GAChB,eAAe,KAAK;GACpB;;CAEF"}