diff --git a/kmpauth-google/api/android/kmpauth-google.api b/kmpauth-google/api/android/kmpauth-google.api index 7b5fc6e..18f4153 100644 --- a/kmpauth-google/api/android/kmpauth-google.api +++ b/kmpauth-google/api/android/kmpauth-google.api @@ -35,17 +35,19 @@ public final class com/mmk/kmpauth/google/GoogleButtonUiContainerKt { public final class com/mmk/kmpauth/google/GoogleUser { public static final field $stable I - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Ljava/lang/String; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/mmk/kmpauth/google/GoogleUser; - public static synthetic fun copy$default (Lcom/mmk/kmpauth/google/GoogleUser;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/mmk/kmpauth/google/GoogleUser; + public final fun component5 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/mmk/kmpauth/google/GoogleUser; + public static synthetic fun copy$default (Lcom/mmk/kmpauth/google/GoogleUser;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/mmk/kmpauth/google/GoogleUser; public fun equals (Ljava/lang/Object;)Z public final fun getAccessToken ()Ljava/lang/String; public final fun getDisplayName ()Ljava/lang/String; + public final fun getEmail ()Ljava/lang/String; public final fun getIdToken ()Ljava/lang/String; public final fun getProfilePicUrl ()Ljava/lang/String; public fun hashCode ()I diff --git a/kmpauth-google/api/jvm/kmpauth-google.api b/kmpauth-google/api/jvm/kmpauth-google.api index 7b5fc6e..18f4153 100644 --- a/kmpauth-google/api/jvm/kmpauth-google.api +++ b/kmpauth-google/api/jvm/kmpauth-google.api @@ -35,17 +35,19 @@ public final class com/mmk/kmpauth/google/GoogleButtonUiContainerKt { public final class com/mmk/kmpauth/google/GoogleUser { public static final field $stable I - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Ljava/lang/String; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/mmk/kmpauth/google/GoogleUser; - public static synthetic fun copy$default (Lcom/mmk/kmpauth/google/GoogleUser;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/mmk/kmpauth/google/GoogleUser; + public final fun component5 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/mmk/kmpauth/google/GoogleUser; + public static synthetic fun copy$default (Lcom/mmk/kmpauth/google/GoogleUser;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/mmk/kmpauth/google/GoogleUser; public fun equals (Ljava/lang/Object;)Z public final fun getAccessToken ()Ljava/lang/String; public final fun getDisplayName ()Ljava/lang/String; + public final fun getEmail ()Ljava/lang/String; public final fun getIdToken ()Ljava/lang/String; public final fun getProfilePicUrl ()Ljava/lang/String; public fun hashCode ()I diff --git a/kmpauth-google/src/androidMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt b/kmpauth-google/src/androidMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt index c203d3c..f55239f 100644 --- a/kmpauth-google/src/androidMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt +++ b/kmpauth-google/src/androidMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt @@ -73,7 +73,8 @@ internal class GoogleAuthUiProviderImpl( GoogleUser( idToken = googleIdTokenCredential.idToken, accessToken = null, - displayName = googleIdTokenCredential.displayName ?: "", + email = googleIdTokenCredential.id, + displayName = googleIdTokenCredential.displayName, profilePicUrl = googleIdTokenCredential.profilePictureUri?.toString() ) } catch (e: GoogleIdTokenParsingException) { diff --git a/kmpauth-google/src/androidMain/kotlin/com/mmk/kmpauth/google/GoogleLegacyAuthentication.kt b/kmpauth-google/src/androidMain/kotlin/com/mmk/kmpauth/google/GoogleLegacyAuthentication.kt index e991666..efe5889 100644 --- a/kmpauth-google/src/androidMain/kotlin/com/mmk/kmpauth/google/GoogleLegacyAuthentication.kt +++ b/kmpauth-google/src/androidMain/kotlin/com/mmk/kmpauth/google/GoogleLegacyAuthentication.kt @@ -52,7 +52,8 @@ internal class GoogleLegacyAuthentication( GoogleUser( idToken = idToken, accessToken = null, - displayName = account.displayName ?: "", + email = account.email, + displayName = account.displayName, profilePicUrl = account.photoUrl?.toString() ).also { println("GoogleLegacy Auth is successful") diff --git a/kmpauth-google/src/commonMain/kotlin/com/mmk/kmpauth/google/GoogleUser.kt b/kmpauth-google/src/commonMain/kotlin/com/mmk/kmpauth/google/GoogleUser.kt index 9c39bae..cbc40e7 100644 --- a/kmpauth-google/src/commonMain/kotlin/com/mmk/kmpauth/google/GoogleUser.kt +++ b/kmpauth-google/src/commonMain/kotlin/com/mmk/kmpauth/google/GoogleUser.kt @@ -5,7 +5,8 @@ package com.mmk.kmpauth.google */ public data class GoogleUser( val idToken: String, - val accessToken:String?=null, - val displayName: String = "", + val accessToken:String? = null, + val email: String? = null, + val displayName: String? = null, val profilePicUrl: String? = null, ) \ No newline at end of file diff --git a/kmpauth-google/src/iosMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt b/kmpauth-google/src/iosMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt index 5535fec..7bc8580 100644 --- a/kmpauth-google/src/iosMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt +++ b/kmpauth-google/src/iosMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt @@ -27,7 +27,8 @@ internal class GoogleAuthUiProviderImpl : GoogleAuthUiProvider { val googleUser = GoogleUser( idToken = idToken, accessToken = accessToken, - displayName = profile?.name ?: "", + email = user?.userID, + displayName = profile?.name, profilePicUrl = profile?.imageURLWithDimension(320u)?.absoluteString ) continutation.resume(googleUser) diff --git a/kmpauth-google/src/jvmMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt b/kmpauth-google/src/jvmMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt index 0174a6e..efe6aea 100644 --- a/kmpauth-google/src/jvmMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt +++ b/kmpauth-google/src/jvmMain/kotlin/com/mmk/kmpauth/google/GoogleAuthUiProviderImpl.kt @@ -54,6 +54,7 @@ internal class GoogleAuthUiProviderImpl(private val credentials: GoogleAuthCrede return null } val jwt = JWT().decodeJwt(idToken) + val email = jwt.getClaim("email")?.asString() // User's name val name = jwt.getClaim("name")?.asString() // User's name val picture = jwt.getClaim("picture")?.asString() val receivedNonce = jwt.getClaim("nonce")?.asString() @@ -65,7 +66,8 @@ internal class GoogleAuthUiProviderImpl(private val credentials: GoogleAuthCrede return GoogleUser( idToken = idToken, accessToken = null, - displayName = name ?: "", + email = email, + displayName = name, profilePicUrl = picture ) }