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:
@@ -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.
|
||||
|
@@ -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 {
|
||||
|
@@ -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 {
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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 ->
|
||||
|
Reference in New Issue
Block a user