После попытки серверной реализации OAuth Gitlab с использованием потока веб-приложений я пробую неявное предоставление в своем интерфейсе Vue.
Код доступа, который посылает мне API, находится в формате параметра фрагмента URL.Это означает, что вместо стандартного ?foo=bar&moo=var
используется символ хеша #foo=bar&moo=var
, который конфликтует с конфигурацией Vue Router по умолчанию.
После попытки режим истории в Vue Router, который не использует#
в его URL я могу получить доступ к параметру Vue Router с помощью $route.hash
.Моя текущая проблема заключается в том, что я должен сам разделить и обрезать параметры следующим образом:
const params = this.$route.hash.split('&').map(part => part.replace(/#/, ''));
const parsedParams = {};
params.forEach(param => {
const parts = param.split('=');
parsedParams[parts[0]] = parts[1];
});
, который выводит { foo: "bar", moo: "var" }
Есть ли лучший или более стандартный способ решенияс параметрами фрагмента в VueRouter?Если нет, то есть ли стандартное решение для этого за пределами Vue?