fun getSsoConfig()

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)
      }
    }
  }