0

我正在尝试来自 www.auth0.com 和 AngularJS 的 auth0-lock。我能够像在 SDK 中一样传递一些参数:https ://auth0.com/docs/libraries/lock/customization#connections-array-

        auth.signin({
            disableSignupAction: true,
            socialBigButtons: true,
            //these lines don't work
            //no changes (username, password appears)
            //connection: 'windows-live'
            //this line returns 'No valid connection found'
            //connections: 'windows-live'
            //this line returns 'No valid connection found'
            //connections: ['windows-live']
            //this line doesn't change anything
            //connection: ['windows-live']

        }

但我无法通过连接(来自 SDK 的非角度版本)

lock.show({
connections: ['twitter', 'facebook', 'linkedin']
});

两个参数 connection 或 connections 都不起作用。

我遇到的问题是,如果我不指定连接(连接)用户名和密码就会出现。根据 SDK,我需要对其进行硬编码,以隐藏这些字段。由于 SDK 是为 JS 而不是 AngularJS 编写的,因此我似乎在传递数组或参数时遇到了问题。有任何想法吗?

4

3 回答 3

1

您是否在仪表板中启用了社交? 启用社交

于 2016-02-18T23:25:11.633 回答
1

你想发送一个带有连接参数的数组:

connections: ['windows-live']

而不是像你这样的字符串:

connections: 'windows-live'
于 2016-01-27T03:01:33.637 回答
0

文档在这方面似乎马马虎虎。如果您使用 //cdn.auth0.com/js/lock-8.js 它应该开箱即用,如先前的响应中所见并遵循示例https://github.com/auth0/auth0-angular/tree/大师/例子

我与connections: & connection 搏斗了几个小时,试图让一些自定义连接正常工作。

作为基础,您可以启用 Auth0 社交提供者中的各种提供者,确保它们切换为绿色。尽可能简单地开始并从那里扩展。

 auth.signin({
        scope: 'openid name email'

索引.html

<script type="text/javascript" src="//cdn.auth0.com/js/lock-8.js"></script>
<!--script src="//cdn.auth0.com/w2/auth0-6.7.js"></script-->
<script type="text/javascript" src="https://cdn.auth0.com/w2/auth0-angular-4.js"></script>
<script src="./lib/a0-angular-storage/dist/angular-storage.js"></script>
<script src="./lib/angular-jwt/dist/angular-jwt.js"></script>

登录控制

 .controller('LoginCtrl',
  function onLoginSuccess(profile, token) {
        console.log("login ok");
    }

    function onLoginFailed() {
        console.log("failed login");
    }

    auth.signin({
        scope: 'openid name email'
    }, onLoginSuccess, onLoginFailed);
}

配置块

.config(function($stateProvider, $urlRouterProvider, authProvider,
             jwtInterceptorProvider, $httpProvider) {

authProvider.init({
    domain: '',
    clientID: '',
    loginState: 'login',
    loginUrl: true
});


    authProvider.on('loginSuccess', function($location, profilePromise, idToken, store) {
        profilePromise.then(function(profile) {
            console.log(JSON.stringify(profile));
于 2016-03-15T07:38:11.923 回答