• Зачем нужен редирект при запросе Access token в авторизации Implicit flow?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    На этапе преобразования кода авторизации (authorization_code) в маркер доступа (access token), в случае успеха, сервер должен вернуть информацию о маркере доступа в ответ на POST-запрос.

    Content-Type: application/json
    {
      access_token: "ABC...XYZ",
      refresh_token: "ABC...XYZ",
      expires_in: 123,
      token_type: "Bearer",
      scope: "..."
    }


    Если это не так, значит, либо код авторизации не проходит, либо поставщик работает неправильно :-) Указывать redirect_uri в данном случае может быть необходимо в качестве дополнительной проверки подлинности запроса, адрес должен соответствовать адресу, который использовался при формировании ссылки входа. Вызова redirect_uri быть не должно. Вызов redirect_uri будет только один раз, когда пользователь пройдет проверку подлинности, выдаст разрешения вашему приложению и поставщик сформирует authorization_code.
    Ответ написан
    Комментировать
  • При поиске по длине строки в MySQL индекс поля поможет или нет?

    Melkij
    @Melkij
    PostgreSQL DBA
    Нет, не ускорит. Нужен функциональный индекс именно по length(field).

    mysql 5.7.6 позволяет создать вычисляемые поля: https://dev.mysql.com/doc/refman/5.7/en/create-tab...
    Это может быть STORED значение - т.е. будет занимать место как обычное поле, но вычисляться автоматически при добавлении/изменении строки. Может индексироваться всё с той же 5.7.6. И может быть virtual - такое поле вычисляется при обращении, не хранится на диске, но может индексироваться только с версии 5.7.8.

    Если ваша версия старая и не умеет генерируемые колонки - то в вашем распоряжении всё ещё остаются старые методы для имитации функционального индекса: создаёте ещё одно числовое поле, куда сохраняете длину текста. Индексируете как обычно. За актуальностью данных могут следить пара триггеров на before insert и before update.
    Ответ написан
    Комментировать
  • При поиске по длине строки в MySQL индекс поля поможет или нет?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Стандартный индекс здесь не поможет. Но можно воспользоваться индексом по генерируемой колонке.
    ALTER TABLE `table`
      ADD COLUMN `len` INT GENERATED ALWAYS AS (LENGTH(`field`)) VIRTUAL,
      ADD INDEX `by_length` (`len`)

    Ну и в выборке использовать поле `len`
    Ответ написан
    Комментировать