<?php

// +----------------------------------------------------------------------
// | Session 配置
// +----------------------------------------------------------------------
// | 控制后台和 API 会话的名称、存储目录、过期时间和 Cookie 安全属性。
// | Header 传递 Session ID 的兼容开关在 config/security.php 的 session 配置中控制。
// +----------------------------------------------------------------------

return [
    // Session Cookie 名称。
    'name' => 'PHPSESSID',

    // 允许从请求参数中读取 Session ID 的变量名；留空表示不启用。
    'var_session_id' => '',

    // Session 存储驱动，当前使用文件存储。
    'type' => 'file',

    // Session 文件存储目录，去除 addons 路径后统一落到主项目 runtime/session。
    'path' => str_replace('/addons/' . APPLICATION_FLAG, '', root_path()) . 'runtime' . DIRECTORY_SEPARATOR . 'session',

    // 缓存存储连接标识，仅 type=cache 时有效。
    'store' => null,

    // Session 过期时间，单位秒。
    'expire' => 1440,

    // Session key 前缀。
    'prefix' => '',

    // 是否压缩 Session 数据。
    'data_compress' => false,

    // 是否通过 Cookie 维护 Session ID。
    'use_cookies' => true,

    // 是否禁止 JavaScript 读取 Session Cookie。
    'httponly' => true,

    // 是否仅允许 HTTPS 传输 Session Cookie。
    'secure' => env('session.secure', false),

    // Session Cookie SameSite 策略。
    'samesite' => env('session.samesite', 'lax'),
];
