Обработчик идентификатора электронной почты с учетом регистра для идентификации пользователя на основе OpenID в Elasticsearch - PullRequest
0 голосов
/ 13 января 2020

При предоставлении доступа на основе OpenID пользователям в ES идентификаторы электронной почты учитываются с учетом регистра, т. Е. Если у пользователя есть электронная почта, Xyz.Abc@foo.com, если я задаю идентификатор электронной почты как xyz.abc@foo.com, пользователь не может чтобы залогиниться.

Есть ли способ сделать этот Email-ID нечувствительным к регистру в Elasticsearch, чтобы Email-идентификаторы в нижнем регистре работали для всех пользователей?

Версия ES: 7.3.2
Уровень: Platinum X-Pack включен
Аутентификация пользователя: на основе OpenID
Текущий запрос сопоставления ролей:

PUT _security/role_mapping/foo_read_user_01?pretty
{
    "roles": [
        "foo_client",
        "kibana_dashboard_only_user"
    ],
    "enabled": true,
    "rules": {
        "all": [
            {
                "field": {
                    "realm.name": "oidc1"
                }
            },
            {
                "field": {
                    "username": [
                        "Xyz.Abc@foo.com",
                        "Bar.Yahoo@foo.com",
                        "FOOBAR@foo.com",
                        "foozbaR@foo.com"
                    ]
                }
            }
        ]
    }
}

Ожидаемый запрос сопоставления ролей:

PUT _security/role_mapping/foo_read_user_01?pretty
{
    "roles": [
        "foo_client",
        "kibana_dashboard_only_user"
    ],
    "enabled": true,
    "rules": {
        "all": [
            {
                "field": {
                    "realm.name": "oidc1"
                }
            },
            {
                "field": {
                    "username": [
                        "xyz.abc@foo.com",
                        "bar.yahoo@foo.com",
                        "foobar@foo.com",
                        "foozbar@foo.com"
                    ]
                }
            }
        ]
    }
}

Пожалуйста, сообщите Я знаю, если вам нужны дополнительные детали.

1 Ответ

0 голосов
/ 13 января 2020

Попробуйте это

PUT my_index {
        "analysis" : {
            "analyzer" : {
                "email_analyzer" : {
                    "filter" : [
                        "lowercase"
                    ],
                    "type": "custom",
                    "tokenizer" : "uax_url_email"
                }
            }
        }
    }

И вы можете ссылаться на эту ссылку

Вы можете ссылаться здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...