From 7879153dce35e522e2c22637528e996a8d5c6ca5 Mon Sep 17 00:00:00 2001 From: Mahad Date: Tue, 17 Dec 2024 14:44:46 +0500 Subject: [PATCH] Authenticate WebRTC using WAMP --- app/src/main/java/io/xconn/wampwebrtc/Helpers.kt | 8 +++----- app/src/main/java/io/xconn/wampwebrtc/Types.kt | 2 ++ app/src/main/java/io/xconn/wampwebrtc/WAMPSession.kt | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/xconn/wampwebrtc/Helpers.kt b/app/src/main/java/io/xconn/wampwebrtc/Helpers.kt index 03e77b4..5f9678f 100644 --- a/app/src/main/java/io/xconn/wampwebrtc/Helpers.kt +++ b/app/src/main/java/io/xconn/wampwebrtc/Helpers.kt @@ -1,7 +1,6 @@ package io.xconn.wampwebrtc import io.xconn.wampproto.Joiner -import io.xconn.wampproto.serializers.Serializer import org.json.JSONObject fun convertJsonToMap(jsonString: String): Map { @@ -18,10 +17,9 @@ fun convertJsonToMap(jsonString: String): Map { suspend fun join( peer: Peer, - realm: String, - serializer: Serializer, + config: ClientConfig, ): PeerBaseSession { - val joiner = Joiner(realm, serializer) + val joiner = Joiner(config.realm, config.serializer, config.authenticator) val hello = joiner.sendHello() peer.send(hello as ByteArray) @@ -32,7 +30,7 @@ suspend fun join( if (toSend == null) { val sessionDetails = joiner.getSessionDetails() - val base = PeerBaseSession(peer, sessionDetails, serializer) + val base = PeerBaseSession(peer, sessionDetails, config.serializer) return base } diff --git a/app/src/main/java/io/xconn/wampwebrtc/Types.kt b/app/src/main/java/io/xconn/wampwebrtc/Types.kt index b39dc30..d09ee81 100644 --- a/app/src/main/java/io/xconn/wampwebrtc/Types.kt +++ b/app/src/main/java/io/xconn/wampwebrtc/Types.kt @@ -1,6 +1,7 @@ package io.xconn.wampwebrtc import io.xconn.wampproto.SessionDetails +import io.xconn.wampproto.auth.ClientAuthenticator import io.xconn.wampproto.messages.Message import io.xconn.wampproto.serializers.Serializer import io.xconn.xconn.IBaseSession @@ -59,6 +60,7 @@ data class ClientConfig( val serializer: Serializer, val subProtocol: String, val iceServers: List, + val authenticator: ClientAuthenticator, ) data class OfferConfig( diff --git a/app/src/main/java/io/xconn/wampwebrtc/WAMPSession.kt b/app/src/main/java/io/xconn/wampwebrtc/WAMPSession.kt index b0b8567..3726ad4 100644 --- a/app/src/main/java/io/xconn/wampwebrtc/WAMPSession.kt +++ b/app/src/main/java/io/xconn/wampwebrtc/WAMPSession.kt @@ -13,7 +13,7 @@ class WAMPSession( val webRTCSession = webRTCConnection.connect(config) val peer = WebRTCPeer(webRTCSession.channel, config.serializer, queue) - val baseSession = join(peer, config.realm, config.serializer) + val baseSession = join(peer, config) return Session(baseSession) }