Проблема с Auth0 и javascript Lock v11 - PullRequest
0 голосов
/ 22 апреля 2020


Я пытаюсь протестировать базовый c модуль аутентификации в моем веб-приложении с использованием auth0 и формы входа Lock v1.
Это снимок кода, который я использую:

<script src="https://cdn.auth0.com/js/lock/11.23.1/lock.min.js"></script>
<script type="text/javascript" src="js/auth0variables.js"></script>
<script type="text/javascript" src="js/auth0app.js"></script>
<script>
$( document ).ready(function() {
    console.log("start");
    var lock = new Auth0Lock(AUTH0_CLIENT_ID, AUTH0_DOMAIN, {
        auth: {
            redirectUrl: 'undefined',
            responseType: 'code',
            params: {
                scope: 'openid email' // Learn about scopes: https://auth0.com/docs/scopes
            }
        }
    });
    lock.show();
});
</script>

Проблема в том, что я не могу получить модальный auth0, так как я получаю следующую ошибку:

Uncaught TypeError: Cannot read property 'protocol' of null
    at Object.getOriginFromUrl (auth0.min.esm.js:8)
    at G.run (auth0.min.esm.js:8)
    at $.checkSession (auth0.min.esm.js:8)
    at nt.getSSOData (auth0.min.esm.js:8)
    at t.getSSOData (p2_api.js:190)
    at t.getSSOData (web_api.js:64)
    at t.fetchFn (data.js:4)
    at t.fetch (cache.js:17)
    at t.get (cache.js:13)
    at r (data.js:7)

Я не понимаю, неправильно ли я конфигурирую в моем приложении на панели инструментов Auth0, если мне не хватает какого-либо параметра конфигурации, вызывающего метод Auth0Lock, или если проблема в другом месте.
Кто-нибудь может мне помочь с этим? Спасибо!

1 Ответ

0 голосов
/ 23 апреля 2020

Я нашел обходной путь, взглянув на следующее обсуждение, размещенное в репозитории ath0 github:

https://github.com/auth0/lock/issues/1638

Во избежание getLocationFromUrl возврата null значение Я установил параметр redirectUrl в конструкторе Auth0Lock

<script src="https://cdn.auth0.com/js/lock/11.23.1/lock.min.js"></script>
<script type="text/javascript" src="js/auth0variables.js"></script>
<script type="text/javascript" src="js/auth0app.js"></script>
<script>
$( document ).ready(function() {
    console.log("start");
    var lock = new Auth0Lock(AUTH0_CLIENT_ID, AUTH0_DOMAIN, {
        auth: {
            redirectUrl: 'http://localhost',
            //redirectUrl: 'file://',
            responseType: 'code',
            params: {
                scope: 'openid email' // Learn about scopes: https://auth0.com/docs/scopes
            }
        }
    });
    lock.show();
});
</script>

Оба параметра redirectUrl: 'http://localhost' или redirectUrl: 'file://' работают нормально для моих целей разработки.

...