Skip to content

Consider updating user/object regex validation #188

@miparnisari

Description

@miparnisari

Here:

string user = 1 [
(google.api.field_behavior) = REQUIRED,
(validate.rules).string = {pattern: "^[^\\s]{2,512}$"},
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
max_length: 512
example: "\"user:anne\""
}
];
string relation = 2 [
(google.api.field_behavior) = REQUIRED,
(validate.rules).string = {pattern: "^[^:#@\\s]{1,50}$"},
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
max_length: 50
example: "\"reader\""
}
];
string object = 3 [
(google.api.field_behavior) = REQUIRED,
(validate.rules).string = {pattern: "^[^\\s]{2,256}$"},
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
max_length: 256
example: "\"document:2021-budget\""
}
];

the regexes are not checking for character length or many characters that are likely invalid such as Unicode control characters like U+0000 (null).

Originally posted by @senojj in openfga/openfga#1825 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions