我一直在关注 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);