You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/amplify_datastore/android/src/main/kotlin/com/amazonaws/amplify/amplify_datastore/NativeAuthPluginWrapper.kt
+46-40Lines changed: 46 additions & 40 deletions
Original file line number
Diff line number
Diff line change
@@ -92,50 +92,56 @@ class NativeAuthPluginWrapper(
92
92
return
93
93
}
94
94
MainScope().launch {
95
-
nativePlugin.fetchAuthSession() { result ->
96
-
val session = result.getOrNull()
97
-
if(session !=null) {
98
-
val userPoolTokens =if (session.userPoolTokens !=null) {
99
-
val tokens =FlutterFactory.createAWSCognitoUserPoolTokens(
100
-
session.userPoolTokens!!.accessToken,
101
-
session.userPoolTokens!!.idToken,
102
-
session.userPoolTokens!!.refreshToken
103
-
)
104
-
AuthSessionResult.success(tokens)
105
-
} else {
106
-
AuthSessionResult.failure(UnknownException("Could not fetch userPoolTokens"))
107
-
}
108
-
val awsCredentials:AuthSessionResult<AWSCredentials> =
109
-
if (session.awsCredentials !=null) {
110
-
val sessionCredentials = session.awsCredentials!!
111
-
val credentials =AWSCredentials.createAWSCredentials(
112
-
sessionCredentials.accessKeyId,
113
-
sessionCredentials.secretAccessKey,
114
-
sessionCredentials.sessionToken,
115
-
if (sessionCredentials.expirationIso8601Utc !=null) {
116
-
Instant.fromIso8601(
117
-
sessionCredentials.expirationIso8601Utc!!
118
-
).epochSeconds
119
-
} else {
120
-
null
121
-
}
95
+
try {
96
+
nativePlugin.fetchAuthSession() { result ->
97
+
val session = result.getOrNull()
98
+
if(session !=null) {
99
+
val userPoolTokens =if (session.userPoolTokens !=null) {
100
+
val tokens =FlutterFactory.createAWSCognitoUserPoolTokens(
101
+
session.userPoolTokens!!.accessToken,
102
+
session.userPoolTokens!!.idToken,
103
+
session.userPoolTokens!!.refreshToken
122
104
)
123
-
AuthSessionResult.success(credentials)
105
+
AuthSessionResult.success(tokens)
124
106
} else {
125
-
AuthSessionResult.failure(UnknownException("Could not fetch awsCredentials"))
107
+
AuthSessionResult.failure(UnknownException("Could not fetch userPoolTokens"))
126
108
}
127
-
val authSession =FlutterFactory.createAWSCognitoAuthSession(
128
-
session.isSignedIn,
129
-
AuthSessionResult.success(session.identityId),
130
-
awsCredentials,
131
-
AuthSessionResult.success(session.userSub),
132
-
userPoolTokens
133
-
)
134
-
onSuccess.accept(authSession)
135
-
} else {
136
-
val error =UnknownException(result.exceptionOrNull()?.message ?:"Could not fetch")
0 commit comments