审查生成的 API 令牌包装器

来自 内联值类
Kotlin 2.4.10 高级 6分钟 找出 4处问题

在这段生成的令牌包装与允许列表检查进入认证边界前审查它。

把缺失输入保留为 null,只接受修剪后以 tok_ 开头的令牌,检查允许列表,并且绝不泄露原始令牌。

kotlin
@JvmInline
value class ApiToken(val value: String)

fun <T> audit(value: T) {
    println("token=$value")
}

fun parseTokens(raw: List<String?>): List<ApiToken?> =
    raw.map { candidate ->
        if (candidate == null) null
        else ApiToken(candidate.trim())
    }

fun isAllowed(tokens: List<ApiToken?>, expected: ApiToken): Boolean {
    audit(expected)
    return tokens.map { it?.value }.contains(expected.value)
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误