我一直在关注 Auth0 离子应用程序教程,它对 idToken 有挑战 returns undefined
I've been following the Auth0 ionic app tutorial having challenges with the idToken it returns undefined
我收到这个错误 - ReferenceError: idToken is not defined at controllers.js:99 at auth0-angular4.js:619。我的代币可能有什么问题?
.controller('loginCtrl', function($scope, $firebaseObject, $firebaseAuth, $state, $timeout, Auth, store, $location, auth, $rootScope, jwtHelper) {
$scope.login = function() {
auth.signin({
authParams: {
scope: 'openid offline-access',
device: 'Mobile device'
}
}, function(profile, token, accessToken, state, refreshToken) {
store.set('store', profile);
store.set('token', idToken);
store.set('refreshToken', refreshToken);
auth.getToken({
api: 'firebase'
}).then(function(delegate) {
store.set('firebaseToken', delegate.id_token);
$state.go('tabsController.pendingTasks');
}, function(error) {
})
})
$rootScope.$on('$locationChangeStart', function() {
if (!auth.isAuthenticated) {
var token = store.get('token');
if (token) {
if (!jwtHelper.isTokenExpired(token)) {
auth.authenticate(store.get('profile'), token);
} else {
// Use the refresh token we had
auth.refreshIdToken(refreshToken).then(function(idToken) {
store.set('token', idToken);
auth.authenticate(store.get('profile'), token);
});
}
}
}
});
}
})
这发生在调用 login() 函数之后
您正在呼叫
store.set('token', idToken);
在示例代码的第 12 行,但是传递给函数的参数(在第 10 行)被命名为 token
。
所以尝试将第 12 行更改为
store.set('token', token);
我收到这个错误 - ReferenceError: idToken is not defined at controllers.js:99 at auth0-angular4.js:619。我的代币可能有什么问题?
.controller('loginCtrl', function($scope, $firebaseObject, $firebaseAuth, $state, $timeout, Auth, store, $location, auth, $rootScope, jwtHelper) {
$scope.login = function() {
auth.signin({
authParams: {
scope: 'openid offline-access',
device: 'Mobile device'
}
}, function(profile, token, accessToken, state, refreshToken) {
store.set('store', profile);
store.set('token', idToken);
store.set('refreshToken', refreshToken);
auth.getToken({
api: 'firebase'
}).then(function(delegate) {
store.set('firebaseToken', delegate.id_token);
$state.go('tabsController.pendingTasks');
}, function(error) {
})
})
$rootScope.$on('$locationChangeStart', function() {
if (!auth.isAuthenticated) {
var token = store.get('token');
if (token) {
if (!jwtHelper.isTokenExpired(token)) {
auth.authenticate(store.get('profile'), token);
} else {
// Use the refresh token we had
auth.refreshIdToken(refreshToken).then(function(idToken) {
store.set('token', idToken);
auth.authenticate(store.get('profile'), token);
});
}
}
}
});
}
})
这发生在调用 login() 函数之后
您正在呼叫
store.set('token', idToken);
在示例代码的第 12 行,但是传递给函数的参数(在第 10 行)被命名为 token
。
所以尝试将第 12 行更改为
store.set('token', token);