试图找出auth0自定义登录屏幕回调网址

时间:2016-11-06 03:52:32

标签: javascript angularjs auth0

我一直在尝试关注this指南,让我的自定义登录屏幕在本地使用我的角度应用。我挣扎的部分是我的登录回调永远不会被调用。

我的原始登录网址为http://localhost:9000/#/login

angular.module('myApp').service('authService', function ($location, angularAuth0) {

    function login(username, password, callback) {
        console.log('in login service');
    angularAuth0.login({
      connection: 'Username-Password-Authentication',
      responseType: 'token',
      email: username,
      password: password
    }, function(err) {
        console.log('we NEVER get here');
    });
  }

    return {
      login: login
    };

});


angular.module('myApp').controller('LoginCtrl', function ($scope, $location, authService) {

    $scope.login = function() {
        ...
        authService.login($scope.user.email, $scope.user.password)

当我登录时,我被重定向到http://localhost:9000/#/access_token<myaccesstoken>&id_token=<myIdToken>&token_type=Bearer

为什么我会被重定向到这个网址,我的回调永远不会被调用?

此外,我应该使用他们在指南中创建的这个函数authenticateAndGetProfile()吗?

1 个答案:

答案 0 :(得分:2)

好的,在与Auth0支持团队合作时,似乎他们的文档遗漏了这一部分,后来又添加了:

Register the authenticateAndGetProfile in app.run.js so that authentication results get processed after login.

// app.run.js

(function () {

  'use strict';

  angular
  .module('app')
  .run(function (authService) {

  // Process the auth token if it exists and fetch the profile
  authService.authenticateAndGetProfile();
  });

})();

这是缺失的部分,现在一切正常。