我正在尝试使用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']
});
两个参数连接或连接都不起作用。
我遇到的问题是,如果我没有指定连接(连接),则会出现用户名和密码。根据SDK我需要对其进行硬编码,以隐藏这些字段。 由于SDK是为JS而不是AngularJS编写的,似乎我在传递数组或参数方面存在问题。 有什么想法吗?
答案 0 :(得分:1)
您想要使用connections参数发送数组:
connections: ['windows-live']
而不是像你一样的字符串:
connections: 'windows-live'
答案 1 :(得分:1)
答案 2 :(得分:0)
文档似乎对此如此一致。如果您使用//cdn.auth0.com/js/lock-8.js,它应该开箱即用,如前面的回复中所示并遵循示例https://github.com/auth0/auth0-angular/tree/master/examples。
我与连接搏斗:&连接几个小时试图让一些自定义连接工作。
以您为基础,您可以启用Auth0社交提供商中的各种提供商,确保它们切换为绿色。尽可能简单地从那里开始扩展。
auth.signin({
scope: 'openid name email'
的index.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>
登录ctrl
.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));