使用Ionic2快速启动Auth0

时间:2016-06-02 12:59:52

标签: angular ionic2 auth0

我是ionic2(和angular2)的新手,我尝试在我的第一个应用程序中实现auth0。 所以我遵循了这个:https://auth0.com/docs/quickstart/hybrid/ionic2/no-api

我开始使用#34;开始使用"在ionic2网站上,一切都很完美。 然后,我按照auth0快速启动中的所有步骤进行操作,但是当我执行"离子服务"我收到这个错误:

0     883034   error    Uncaught Invalid provider - only instances of Provider and Type are allowed, got: [object Object], http://localhost:8100/build/js/app.bundle.js, Line: 24470

我认为问题出在App.ts中,在@App提供商中:

import {App, Platform} from 'ionic-angular';
import {StatusBar} from 'ionic-native';
import {TabsPage} from './pages/tabs/tabs';
import {provide} from 'angular2/core';
import {Http} from 'angular2/http'
import {AuthHttp, AuthConfig} from 'angular2-jwt';
import {AuthService} from './services/auth/auth';
import {Type} from 'angular2/core';


@App({
    template: '<ion-nav [root]="rootPage"></ion-nav>',
    config: {},
    providers: [
        provide(AuthHttp, {
            useFactory: (http) => {
                return new AuthHttp(new AuthConfig(), http);
            },
            deps: [Http]
        }),
        AuthService
    ],
 })
export class MyApp {
rootPage: any = TabsPage;

constructor(platform: Platform) {
    platform.ready().then(() => {
        StatusBar.styleDefault();
        // When the app starts up, there might be a valid
        // token in local storage. If there is, we should
        // schedule an initial token refresh for when the
        // token expires
        this.auth.startupTokenRefresh();

    });
}

}

谢谢我帮忙!

2 个答案:

答案 0 :(得分:1)

您正在使用@App装饰器。这意味着您使用的是旧版的Ionic 2.请更新到最新版本并以“新”方式引导它:

ionicBootstrap(MyApp, [
  provide(AuthHttp, {
    useFactory: (http) => {
      return new AuthHttp(new AuthConfig({noJwtError: true}), http);
    },
    deps: [Http]
  })],
  {
    tabbarPlacement: 'bottom'
  }
);

应该这样工作!

答案 1 :(得分:0)

检查你的package.json,我删除时收到了这个错误:

"angular2": "2.0.0-beta.15",

在文件依赖项中。 希望它有所帮助,但它可能是另一回事。