Пользовательский интерфейс AWS Cognito использует хэш для включения параметров при вызове страницы обратного вызова.

У меня проблема с пользовательским интерфейсом, предоставленным AWS Cognito.

Когда я пытаюсь использовать предоставленный пользовательский интерфейс, я вызываю конечную точку с заполненным URL:

https://mydomain.auth.ap-northeast-1.amazoncognito.com/login?response_type=token&client_id=123456789&redirect_uri=http://localhost:3000/callback/

Теперь проблема в том, что после аутентификации Cognito использует знак # для отправки обратно требуемых параметров. Результат будет выглядеть так:

http://localhost:3000/callback/#id_token=eyJragIsm2PqVpw&access_token=eyJraWQiOiJ&expires_in=3600&token_type=Bearer

Мне сложно читать id_token и access_token на моей странице обратного вызова (это приложение vue).

Как настроить Cognito для использования обычного вопросительного знака (?) Для передачи строки запроса или как я могу прочитать переданные параметры после решетки (#).

Я ценю ваш совет по этому поводу.


person Arman Fatahi    schedule 16.08.2018    source источник
comment
Это когда-нибудь решалось? То же самое для меня.   -  person user2752159    schedule 21.09.2018
comment
У меня такая же проблема.   -  person FakeFootball    schedule 26.03.2019
comment
@FakeFootball Я изменил свой код для поиска? и # затем обрабатываем каждый случай. Просто работа.   -  person Arman Fatahi    schedule 28.03.2019


Ответы (1)


Если вы используете маршрутизатор Vue.js, обработать хеш-часть довольно просто. Просто поместите этот фрагмент где-нибудь в свой компонент. ссылка: https://router.vuejs.org/api/#the-route-object

let cognitoData = {}
if (this.$route.hash !== "") {
    let elementsString = decodeURIComponent(
        this.$route.hash.substr(1, this.$route.hash.length)
    );
    let params = elementsString.split("&");
    for (let param of params) {
        let values = param.split("=");
        cognitoData[values[0]] = values[1];
    }
}

// do your business with cognitoData
person FakeFootball    schedule 03.04.2019