SIDAppToken
SIDAppToken — модуль для работы с AppToken (токеном приложения). Содержит методы обновления токена, проверки его валидности и открытия партнерских ссылок с авторизованной сессией.
Доступ к модулю
Модуль доступен через делегат SID.AppToken:
val appTokenModule = SID.AppToken
Методы
SID.AppToken.updateAppToken
public fun updateAppToken(oidcParams: OIDCParams): Unit
Обновляет AppToken на основе переданных параметров OIDC.
Пример использования:
val codeVerifide = PkceUtils.generateRandomCodeVerifier(SecureRandom())
val codeChallenge = PkceUtils.deriveCodeVerifierChallenge(codeVerifide)
val oidcParams = OIDCParams(
clientId = clientId,
scope = "scope",
redirectUri = "redirectUri",
state = "state",
nonce = "nonce",
codeChallenge = codeChallenge,
codeChallengeMethod = PkceUtils.getCodeChallengeMethod()
)
SID.AppToken.updateAppToken(oidcParams)
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| oidcParams | Да | OIDCParams | Объект с данными авторизации (параметры OIDC) |
Возвращаемое значение: Unit
SIDAppToken.checkAppTokenForValid
public fun checkAppTokenForValid(): Unit
Проверяет валидность текущего AppToken. Для получения результата проверки используйте [SID.Events.subscribeForAppTokenEvents].
// Подписка на события AppToken
SID.Events.subscribeForAppTokenEvents(owner = this) { tokenEvent ->
when (tokenEvent) {
is AppTokenEvents.IsValid -> {
// Токен валиден, можно выполнять операции с SSO
}
is AppTokenEvents.HasExpire -> {
// Токен истек. Нужно обновить."
}
}
}
// Запуск проверки токена
SID.AppToken.checkAppTokenForValid()
SIDAppToken.goToPartnerSSO
public fun goToPartnerSSO(currentActivity: FragmentActivity, linkInformation: LinkInformation): Unit
Открывает партнерскую ссылку с авторизованной сессией (Single Sign-On).
Пример использования:
val linkInfo = LinkInformation(
webLink = "https://partner.ru/secure-page",
clientId = "partner_123",
partnerColorInt = Color.parseColor("#11aaff"),
openIn = "webview" // Или "browser"
)
SID.AppToken.goToPartnerSSO(
currentActivity = this,
linkInformation = linkInfo
)
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| currentActivity | Да | FragmentActivity | Активность с жизненным циклом для открытия ссылки |
| linkInformation | Да | LinkInformation | Данные для открытия партнерской ссылки |