【发布时间】:2017-05-03 18:29:48
【问题描述】:
我正在使用 Auth0 Lock 对用户进行身份验证,并且我试图让 Lock 小部件不是作为弹出窗口,而是嵌入在页面本身中。
我尝试使用container 选项并从页面中的脚本调用lock.show() 方法,我希望它加载但它没有。只有当我从ng-click 内的函数内部调用lock.show() 方法时,它才会显示小部件。
初始化 Lock 小部件:
lockProvider.init({
clientID: 'XXX',
domain: 'YYY.auth0.com',
options: {
allowSignUp: false,
container: 'hiw-login-container',
auth: {
responseType: 'token',
params: {
scope: 'openid email'
}
},
allowedConnections: ['Username-Password-Authentication']
}
});
观点:
<div ng-if="!isAuthenticated" >
<script>
lock.show();
</script>
<md-content>
<div id="hiw-login-container" style="width: 320px; margin: 40px auto; padding: 10px; border-style: dashed; border-width: 1px; box-sizing: border-box;">
embedded area
</div>
</md-content>
</div>
从ng-click 呼叫lock.show:
<md-button class="md-warn md-raised"
aria-label="Login"
ng-click="toolbar.authService.login()"
ng-if="!isAuthenticated">
Login
</md-button>
function login() {
lock.show();
}
我无法上传图片,所以这里是运行应用程序时显示的结果的链接:
- 初始状态 - 在按下任何东西之前 (HomePage before pressing the login button)
- 按下登录按钮后 (HomePage after pressing login button)
为什么它不从一开始就显示小部件?
【问题讨论】:
标签: javascript angularjs auth0