1
0
mirror of https://github.com/vector-im/riotX-android synced 2025-10-06 00:02:48 +02:00

Use extended credentials for login response.

This commit is contained in:
Onuray Sahin
2021-03-08 15:22:23 +03:00
parent 06770ca010
commit d932c5598b
6 changed files with 12 additions and 13 deletions

View File

@@ -17,6 +17,7 @@
package org.matrix.android.sdk.internal.auth
import org.matrix.android.sdk.api.auth.data.Credentials
import org.matrix.android.sdk.api.util.Extended
import org.matrix.android.sdk.internal.auth.data.LoginFlowResponse
import org.matrix.android.sdk.internal.auth.data.PasswordLoginParams
import org.matrix.android.sdk.internal.auth.data.RiotConfig
@@ -97,12 +98,12 @@ internal interface AuthAPI {
*/
@Headers("CONNECT_TIMEOUT:60000", "READ_TIMEOUT:60000", "WRITE_TIMEOUT:60000")
@POST(NetworkConstants.URI_API_PREFIX_PATH_R0 + "login")
fun login(@Body loginParams: PasswordLoginParams): Call<Credentials>
fun login(@Body loginParams: PasswordLoginParams): Call<Extended<Credentials>>
// Unfortunately we cannot use interface for @Body parameter, so I duplicate the method for the type TokenLoginParams
@Headers("CONNECT_TIMEOUT:60000", "READ_TIMEOUT:60000", "WRITE_TIMEOUT:60000")
@POST(NetworkConstants.URI_API_PREFIX_PATH_R0 + "login")
fun login(@Body loginParams: TokenLoginParams): Call<Credentials>
fun login(@Body loginParams: TokenLoginParams): Call<Extended<Credentials>>
/**
* Ask the homeserver to reset the password associated with the provided email.

View File

@@ -41,6 +41,7 @@ import org.matrix.android.sdk.internal.util.MatrixCoroutineDispatchers
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.withContext
import okhttp3.OkHttpClient
import org.matrix.android.sdk.api.util.Extended
internal class DefaultLoginWizard(
okHttpClient: OkHttpClient,
@@ -73,11 +74,11 @@ internal class DefaultLoginWizard(
val loginParams = TokenLoginParams(
token = loginToken
)
val credentials = executeRequest<Credentials>(null) {
val credentials = executeRequest<Extended<Credentials>>(null) {
apiCall = authAPI.login(loginParams)
}
sessionCreator.createSession(credentials, pendingSessionData.homeServerConnectionConfig)
sessionCreator.createSession(credentials.wrapped, pendingSessionData.homeServerConnectionConfig)
}
}
@@ -89,11 +90,11 @@ internal class DefaultLoginWizard(
} else {
PasswordLoginParams.userIdentifier(login, password, deviceName)
}
val credentials = executeRequest<Credentials>(null) {
val credentials = executeRequest<Extended<Credentials>>(null) {
apiCall = authAPI.login(loginParams)
}
sessionCreator.createSession(credentials, pendingSessionData.homeServerConnectionConfig)
sessionCreator.createSession(credentials.wrapped, pendingSessionData.homeServerConnectionConfig)
}
override fun resetPassword(email: String, newPassword: String, callback: MatrixCallback<Unit>): Cancelable {

View File

@@ -31,6 +31,7 @@ import org.matrix.android.sdk.internal.network.httpclient.addSocketFactory
import org.matrix.android.sdk.internal.network.ssl.UnrecognizedCertificateException
import org.matrix.android.sdk.internal.task.Task
import okhttp3.OkHttpClient
import org.matrix.android.sdk.api.util.Extended
import javax.inject.Inject
internal interface DirectLoginTask : Task<DirectLoginTask.Params, Session> {
@@ -59,7 +60,7 @@ internal class DefaultDirectLoginTask @Inject constructor(
val loginParams = PasswordLoginParams.userIdentifier(params.userId, params.password, params.deviceName)
val credentials = try {
executeRequest<Credentials>(null) {
executeRequest<Extended<Credentials>>(null) {
apiCall = authAPI.login(loginParams)
}
} catch (throwable: Throwable) {
@@ -75,7 +76,7 @@ internal class DefaultDirectLoginTask @Inject constructor(
}
}
return sessionCreator.createSession(credentials, params.homeServerConnectionConfig)
return sessionCreator.createSession(credentials.wrapped, params.homeServerConnectionConfig)
}
private fun buildClient(homeServerConnectionConfig: HomeServerConnectionConfig): OkHttpClient {

View File

@@ -48,7 +48,6 @@ import org.matrix.android.sdk.internal.session.room.RoomAvatarResolver
import org.matrix.android.sdk.internal.session.room.membership.RoomDisplayNameResolver
import org.matrix.android.sdk.internal.session.room.membership.RoomMemberHelper
import org.matrix.android.sdk.internal.session.sync.model.RoomSyncSummary
import org.matrix.android.sdk.internal.session.sync.model.RoomSyncUnreadNotifications
import timber.log.Timber
import javax.inject.Inject

View File

@@ -64,7 +64,6 @@ import org.matrix.android.sdk.internal.session.sync.model.InvitedRoomSync
import org.matrix.android.sdk.internal.session.sync.model.RoomSync
import org.matrix.android.sdk.internal.session.sync.model.RoomSyncAccountData
import org.matrix.android.sdk.internal.session.sync.model.RoomSyncEphemeral
import org.matrix.android.sdk.internal.session.sync.model.RoomSyncUnreadNotifications
import org.matrix.android.sdk.internal.session.sync.model.RoomsSyncResponse
import timber.log.Timber
import javax.inject.Inject

View File

@@ -92,7 +92,7 @@ import javax.tools.Diagnostic
if (!kmClass.isData) {
return@forEach
}
if(kmClass.isInner){
if (kmClass.isInner) {
return@forEach
}
val dataClassSpec = kmClass.toTypeSpec(classInspector)
@@ -125,7 +125,6 @@ import javax.tools.Diagnostic
)
.build()
objectBuilder.addProperty(jsonKeysPropertySpec)
try {
@@ -140,7 +139,6 @@ import javax.tools.Diagnostic
return true
}
private fun List<AnnotationSpec>?.jsonName(): String? {
if (this == null) return null
return find { it.typeName == Json::class.asClassName() }?.let { annotation ->