in authentication/src/main/kotlin/com/uber/sdk2/auth/request/SsoConfig.kt [47:66]
fun getSsoConfig(context: Context): SsoConfig {
val resources: Resources = context.resources
val resourceId = resources.getIdentifier(SSO_CONFIG_FILE, "raw", context.packageName)
val configSource: BufferedSource = resources.openRawResource(resourceId).source().buffer()
configSource.use {
val configData = Buffer()
try {
configSource.readAll(configData)
val configJson = JSONObject(configData.readString(Charset.forName("UTF-8")))
val clientId = getRequiredConfigString(configJson, CLIENT_ID_PARAM)
val scope = getConfigString(configJson, SCOPE_PARAM)
val redirectUri = getRequiredConfigString(configJson, REDIRECT_PARAM)
return SsoConfig(clientId, redirectUri, scope)
} catch (ex: IOException) {
throw AuthException.ClientError("Failed to read configuration: " + ex.message)
} catch (ex: JSONException) {
throw AuthException.ClientError("Failed to read configuration: " + ex.message)
}
}
}