2017-06-16 32 views
1

我目前正在嘗試用我的Angular2應用程序設置Auth0。我正在使用angular2-cli。我添加了一個名爲auth的新服務。當我運行npm start我得到的錯誤src/app/auth.service.ts (21,5): Supplied parameters do not match any signature of call target.Auth0與Angular2「提供的參數不匹配調用目標的任何簽名。」

這裏是我的auth.service.ts

import { Injectable } from '@angular/core'; 
import { Router } from '@angular/router'; 
import 'rxjs/add/operator/filter'; 
import * as auth0 from 'auth0-js'; 

@Injectable() 
export class AuthService { 

    auth0 = new auth0.WebAuth({ 
    clientID: 'removed for privacy', 
    domain: 'removed for privacy', 
    responseType: 'token id_token', 
    audience: 'removed for privacy', 
    redirectUri: 'http://localhost:4200/callback',  
    scope: 'openid' 
    }); 

    constructor(public router: Router) {} 

    public login(): void { 
    this.auth0.authorize(); 
    } 

} 

這裏是我的依賴關係,從我的package.json

"dependencies": { 
    "@angular/cli": "^1.0.0-rc.0", 
    "@angular/common": "^2.4.0", 
    "@angular/compiler": "^2.4.0", 
    "@angular/core": "^2.4.8", 
    "@angular/forms": "^2.4.0", 
    "@angular/http": "^2.4.0", 
    "@angular/platform-browser": "^2.4.0", 
    "@angular/platform-browser-dynamic": "^2.4.0", 
    "@angular/router": "^3.4.0", 
    "@angular2-material/button": "^2.0.0-alpha.5", 
    "@angular2-material/card": "^2.0.0-alpha.5", 
    "@angular2-material/checkbox": "^2.0.0-alpha.5", 
    "@angular2-material/core": "^2.0.0-alpha.5", 
    "@angular2-material/icon": "^2.0.0-alpha.5", 
    "@angular2-material/input": "^2.0.0-alpha.5", 
    "@angular2-material/list": "^2.0.0-alpha.5", 
    "@angular2-material/toolbar": "^2.0.0-alpha.5", 
    "core-js": "^2.4.1", 
    "hammerjs": "^2.0.8", 
    "pg": "^6.2.3", 
    "pg-hstore": "^2.3.2", 
    "rxjs": "^5.1.0", 
    "sequelize": "^3.30.4", 
    "sequelize-cli": "^2.7.0", 
    "zone.js": "^0.7.6" 
    }, 
    "devDependencies": { 
    "@angular/cli": "1.0.0-rc.0", 
    "@angular/compiler-cli": "^2.4.0", 
    "@types/hammerjs": "^2.0.34", 
    "@types/jasmine": "2.5.38", 
    "@types/node": "~6.0.60", 
    "codelyzer": "~2.0.0", 
    "gh-pages": "^0.12.0", 
    "jasmine-core": "~2.5.2", 
    "jasmine-spec-reporter": "~3.2.0", 
    "karma": "~1.4.1", 
    "karma-chrome-launcher": "~2.0.0", 
    "karma-cli": "~1.0.1", 
    "karma-coverage-istanbul-reporter": "^0.2.0", 
    "karma-jasmine": "~1.1.0", 
    "karma-jasmine-html-reporter": "^0.2.2", 
    "protractor": "~5.1.0", 
    "ts-node": "~2.0.0", 
    "tslint": "~4.4.2", 
    "typescript": "~2.0.0", 
    "video.js": "^5.19.2" 
    } 

我下面的Auth0 Angular2 + Auth0網站上的SDK快速入門,沒有運氣。任何幫助,將不勝感激。

回答

1

檢查auth0-js庫here的API。

authorize函數接受一個對象參數。

auth0.authorize({ 
    audience: 'https://mystore.com/api/v2', 
    scope: 'read:order write:order', 
    responseType: 'token', 
    redirectUri: 'https://example.com/auth/callback' 
}); 

下面你login功能函數拋出的錯誤。

this.auth0.authorize(); 
相關問題