import type { OAuthConfig , OAuthUserConfig } from "." ; export interface GoogleProfile { aud : string ; azp : string ; email : string ; email_verified : boolean ; exp : number ; family_name : string ; given_name : string ; hd : string ; iat : number ; iss : string ; jti : string ; name : string ; nbf : number ; picture : string ; sub : string ; } export default function Google < P extends Record < string , any > = GoogleProfile > ( options ) { return { id : "google" , name : "Google" , type : "oauth" , wellKnown : "https://accounts.google.com/.well-known/openid-configuration" , authorization : { params : { scope : "openid email profile" } } , idToken : true , checks : [ "pkce" , "state" ] , profile ( profile ) { return { id : profile . sub , name : profile . name , email : profile . email , image : profile . picture , } ; } , options , } ; }