Angular2:初始化注射剂上的参数

时间:2016-12-02 12:21:24

标签: angular

我正在开发一个库,以便访问REST ednpoint。

我已经生成了一个Injectable类foreach REST端点(您可以查看here。现在,我需要在此调用中添加OAuth舞蹈,并且我已经考虑创建一个OAuthService课程:

import { Injectable } from '@angular/core';
import { Http, Headers, URLSearchParams } from '@angular/http';

import { OAuthSettings } from './OAuthSettings';

@Injectable()
export class OAuthService
{
    constructor(private http: Http, private settings: OAuthSettings) { }

    grantAuthorization() {}

    getAccessToken() {}

    refreshAccessToken() {}
}

,其中OAuthSettings是:

export class OAuthSettings {
    baseAuthzURI: string;
    baseCESTURI: string;

    client: string;
    user: string;
    passwd: string;

    authzCode: string;
    accessToken: string;
    refreshToken: string;
    authCodeThreshold: Date;
    accessTokenThreshold: Date;
    refreshTokenThreshold: Date;
}

我能够确定我需要在OAuthService上添加UserApi作为依赖项。但是,OAuthSettings怎么样,这是如何提供或初始化的?

该库由应用程序使用,该应用程序需要提供用户和密码。因此,必须在OAuthSettings上提供这些字段。

1 个答案:

答案 0 :(得分:2)

@NgModule({
  providers: [{ provide: OAuthSettings, useValue: {...}}]