cookie

inline fun <S : Any> SessionsConfig.cookie(name: String, storage: SessionStorage)
fun <S : Any> SessionsConfig.cookie(name: String, typeInfo: TypeInfo, storage: SessionStorage)

Configures Sessions to pass a session identifier in cookies using the name Set-Cookie attribute and store the serialized session's data in the server storage.


inline fun <S : Any> SessionsConfig.cookie(name: String, storage: SessionStorage, noinline block: CookieIdSessionBuilder<S>.() -> Unit)
fun <S : Any> SessionsConfig.cookie(name: String, typeInfo: TypeInfo, storage: SessionStorage, block: CookieIdSessionBuilder<S>.() -> Unit)

Configures Sessions to pass a session identifier in cookies using the name Set-Cookie attribute and store the serialized session's data in the server storage. The block parameter allows you to configure additional cookie settings, for example:

  • add other cookie attributes;

  • sign and encrypt session data.


inline fun <S : Any> SessionsConfig.cookie(name: String)
fun <S : Any> SessionsConfig.cookie(name: String, typeInfo: TypeInfo)

Configures Sessions to pass the serialized session's data in cookies using the name Set-Cookie attribute.


inline fun <S : Any> SessionsConfig.cookie(name: String, noinline block: CookieSessionBuilder<S>.() -> Unit)
fun <S : Any> SessionsConfig.cookie(name: String, typeInfo: TypeInfo, block: CookieSessionBuilder<S>.() -> Unit)

Configures Sessions to pass the serialized session's data in cookies using the name Set-Cookie attribute. The block parameter allows you to configure additional cookie settings, for example:

  • add other cookie attributes;

  • sign and encrypt session data.

For example, the code snippet below shows how to specify a cookie's path and expiration time:

install(Sessions) {
cookie<UserSession>("user_session") {
cookie.path = "/"
cookie.maxAgeInSeconds = 10
}
}