Auth0 和 javascript Lock v11 问题

Issue with Auth0 and javascript Lock v11


我正在尝试使用 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 方法的某些配置参数,或者问题是否出在其他地方。
有人可以帮我吗?谢谢!

我在 ath0 github 存储库上的以下讨论中找到了解决方法:

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

为了避免 getLocationFromUrl 返回 null 值,我在 Auth0Lock 构造函数

中设置了 redirectUrl 选项
<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://' 选项都适合我的开发目的。