mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-27 12:05:22 +00:00
Merge pull request #1026 from ceokot/sogs-auth
fix: Authenticate all Open Group API calls
This commit is contained in:
commit
1619277b4f
@ -37,6 +37,7 @@ class BackgroundGroupAddJob(val joinUrl: String): Job {
|
|||||||
delegate?.handleJobFailed(this, dispatcherName, DuplicateGroupException())
|
delegate?.handleJobFailed(this, dispatcherName, DuplicateGroupException())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
storage.addOpenGroup(openGroup.joinUrl())
|
storage.addOpenGroup(openGroup.joinUrl())
|
||||||
storage.onOpenGroupAdded(openGroup.server, openGroup.room)
|
storage.onOpenGroupAdded(openGroup.server, openGroup.room)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
@ -273,7 +273,6 @@ object OpenGroupApi {
|
|||||||
val queryParameters: Map<String, String> = mapOf(),
|
val queryParameters: Map<String, String> = mapOf(),
|
||||||
val parameters: Any? = null,
|
val parameters: Any? = null,
|
||||||
val headers: Map<String, String> = mapOf(),
|
val headers: Map<String, String> = mapOf(),
|
||||||
val isAuthRequired: Boolean = true,
|
|
||||||
val body: ByteArray? = null,
|
val body: ByteArray? = null,
|
||||||
/**
|
/**
|
||||||
* Always `true` under normal circumstances. You might want to disable
|
* Always `true` under normal circumstances. You might want to disable
|
||||||
@ -319,7 +318,7 @@ object OpenGroupApi {
|
|||||||
?: return Promise.ofFail(Error.NoEd25519KeyPair)
|
?: return Promise.ofFail(Error.NoEd25519KeyPair)
|
||||||
val urlRequest = urlBuilder.toString()
|
val urlRequest = urlBuilder.toString()
|
||||||
val headers = request.headers.toMutableMap()
|
val headers = request.headers.toMutableMap()
|
||||||
if (request.isAuthRequired) {
|
|
||||||
val nonce = sodium.nonce(16)
|
val nonce = sodium.nonce(16)
|
||||||
val timestamp = TimeUnit.MILLISECONDS.toSeconds(SnodeAPI.nowWithOffset)
|
val timestamp = TimeUnit.MILLISECONDS.toSeconds(SnodeAPI.nowWithOffset)
|
||||||
var pubKey = ""
|
var pubKey = ""
|
||||||
@ -385,7 +384,6 @@ object OpenGroupApi {
|
|||||||
headers["X-SOGS-Timestamp"] = "$timestamp"
|
headers["X-SOGS-Timestamp"] = "$timestamp"
|
||||||
headers["X-SOGS-Pubkey"] = pubKey
|
headers["X-SOGS-Pubkey"] = pubKey
|
||||||
headers["X-SOGS-Signature"] = encodeBytes(signature)
|
headers["X-SOGS-Signature"] = encodeBytes(signature)
|
||||||
}
|
|
||||||
|
|
||||||
val requestBuilder = okhttp3.Request.Builder()
|
val requestBuilder = okhttp3.Request.Builder()
|
||||||
.url(urlRequest)
|
.url(urlRequest)
|
||||||
@ -927,7 +925,7 @@ object OpenGroupApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getCapabilities(server: String): Promise<Capabilities, Exception> {
|
fun getCapabilities(server: String): Promise<Capabilities, Exception> {
|
||||||
val request = Request(verb = GET, room = null, server = server, endpoint = Endpoint.Capabilities, isAuthRequired = false)
|
val request = Request(verb = GET, room = null, server = server, endpoint = Endpoint.Capabilities)
|
||||||
return getResponseBody(request).map { response ->
|
return getResponseBody(request).map { response ->
|
||||||
JsonUtil.fromJson(response, Capabilities::class.java)
|
JsonUtil.fromJson(response, Capabilities::class.java)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user